在VMWare Fusion 3.0(osx)上运行的Ubuntu Server 9.10上过度使用内存

我不能在shell中设置overcommit_memory

root@ubuntu:~# /proc/sys/vm/overcommit_memory = 1 -bash: /proc/sys/vm/overcommit_memory: Permission denied 

此外,我试图把该行/ etc / sysctl.conf中,并重新启动虚拟机 ,但它不工作。

有人有一些线索? 我找不到任何search在谷歌。

/ proc / sys中的设置是虚拟文件。 要改变它们,你需要像写任何其他文件一样写给它们,就像这样:

 echo 1 >/proc/sys/vm/overcommit_memory 

您尝试的命令是将/proc/sys/vm/overcommit_memory作为可执行文件运行,这当然是不可能的。 你所得到的“权限被拒绝”是因为该文件没有被设置为可执行文件,而不是因为你不能改变它。

您可以通过阅读文件来查看当前设置:

 cat /proc/sys/vm/overcommit_memory 

谢谢你,杰夫,我试过了:

 echo 1 > /proc/sys/vm/overcommit_memory 

但:

 -bash: echo: write error: Operation not permitted 

问题是写入文件的能力被虚拟机服务器“locking”,所以我不得不要求系统pipe理员启用它

在家里的一个unix盒子,我安装了VMWare服务器,我试了一下,它可以工作,我的和你的解决scheme。

首先你应该使用命令cat /proc/mounts

如果挂载点/proc以只读模式挂载,则必须重新挂载它。

尝试使用mount -o remount,rw /proc命令mount -o remount,rw /proc

重新安装后,请再次尝试使用echo命令。