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

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

我无法设置过度使用内存从外壳内部来看:

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命令。

相关内容