我无法设置过度使用内存从外壳内部来看:
root@ubuntu:~# /proc/sys/vm/overcommit_memory = 1
-bash: /proc/sys/vm/overcommit_memory: Permission denied
我也尝试将该行放入 /etc/系统配置参数并重新启动虚拟机但它不起作用。
有人有线索吗?我在 Google 上搜索不到任何内容。
答案1
/proc/sys 中的设置是虚拟文件。要更改它们,您需要像写入任何其他文件一样写入它们,如下所示:
echo 1 >/proc/sys/vm/overcommit_memory
您尝试的命令是作为可执行文件运行/proc/sys/vm/overcommit_memory
,这当然是不可能的。您收到“权限被拒绝”是因为该文件未设置为可执行文件,而不是因为您无法更改它。
您可以通过读取文件来查看当前设置:
cat /proc/sys/vm/overcommit_memory
答案2
谢谢杰夫,我试过:
echo 1 > /proc/sys/vm/overcommit_memory
但:
-bash: echo: write error: Operation not permitted
问题是写入文件的能力被虚拟机服务器“锁定”,所以我不得不请求系统管理员启用它
在家里安装了 VMWare 服务器的 Unix 机器上我尝试了它,无论是我的还是您的解决方案都可以正常工作。
答案3
首先您应该使用命令cat /proc/mounts
。
如果挂载点/proc
是以只读模式挂载的,那么您必须重新挂载它。
尝试使用命令重新安装mount -o remount,rw /proc
。
重新挂载后,再次尝试使用该echo
命令。