我在 CentOS 6.5 上运行 elasticsearch 和 SugarCRM7。我每天都面临同样的问题:java outOfMemory 错误。发生这种情况是因为 vm.max_map_count 值很小,只有在推荐 262144 时才 65530。
问题是 vm.max_map_count 似乎无法改变:
在根下更改
sudo sysctl -w vm.max_map_count=262144
Run Code Online (Sandbox Code Playgroud)
返回
错误:对键“vm.max_map_count”的权限被拒绝
尽管
ps aux | grep java
Run Code Online (Sandbox Code Playgroud)
仅返回 grep 进程
在 elasticsearch 启动时更改
sudo service elasticsearch start
Run Code Online (Sandbox Code Playgroud)
也返回错误
错误:对键“vm.max_map_count”的权限被拒绝
启动弹性搜索:[确定]
通过文件手动更改(dirty-dirty hack):
sudo vi /proc/sys/vm/max_map_count
Run Code Online (Sandbox Code Playgroud)
也不起作用:
"/proc/sys/vm/max_map_count" [只读] 1L, 6C
-- INSERT -- W10:警告:更改只读文件
E45: 'readonly' 选项已设置(添加 ! 以覆盖)
"/proc/sys/vm/max_map_count" E212: 无法打开文件进行写入
尽管
ls -la /proc/sys/vm/ | grep max_map_count
Run Code Online (Sandbox Code Playgroud)
退货
-rw-r--r-- 1 根根 0 Apr …