Skip to content

Commit

Permalink
How to make your changes to vm.max_map_count persistent on macOS (inf…
Browse files Browse the repository at this point in the history
…iniflow#2041)

### What problem does this PR solve?

infiniflow#1919 

### Type of change
- [x] Documentation Update
  • Loading branch information
writinwaters authored Aug 21, 2024
1 parent 6ac88ee commit 5d35418
Showing 1 changed file with 48 additions and 3 deletions.
51 changes: 48 additions & 3 deletions docs/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -67,16 +67,61 @@ This section provides instructions on setting up the RAGFlow server on Linux. If
```
</TabItem>
<TabItem value="macos">
If you are on macOS with Docker Desktop, then you *must* use docker-machine to update `vm.max_map_count`:
If you are on macOS with Docker Desktop, run the following command to update `vm.max_map_count`:

```bash
$ docker-machine ssh
$ sudo sysctl -w vm.max_map_count=262144
docker run --rm --privileged --pid=host alpine sysctl -w vm.max_map_count=262144
```

:::caution WARNING
This change will be reset after a system reboot. If you forget to update the value the next time you start up the server, you may get a `Can't connect to ES cluster` exception.
:::

To make your change persistent, create a file with proper settings:

1.1. Create a file:

```shell
sudo nano /Library/LaunchDaemons/com.user.vmmaxmap.plist
```

1.2. Open the file:

```shell
sudo launchctl load /Library/LaunchDaemons/com.user.vmmaxmap.plist
```

1.3. Add settings:

```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.vmmaxmap</string>
<key>ProgramArguments</key>
<array>
<string>/usr/sbin/sysctl</string>
<string>-w</string>
<string>vm.max_map_count=262144</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
```

1.4. After saving the file, load the new daemon:

```shell
sudo launchctl load /Library/LaunchDaemons/com.user.vmmaxmap.plist
```

:::note
If the above steps does not work, consider using [this workaround](https://github.com/docker/for-mac/issues/7047#issuecomment-1791912053), which employs a container and does not require manual editing of the macOS settings.
:::

</TabItem>
<TabItem value="windows">

Expand Down

0 comments on commit 5d35418

Please sign in to comment.