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

mak*_*oid 1 memory mac-osx vmware-fusion

我无法从 shell 内部设置overcommit_memory

root@ubuntu:~# /proc/sys/vm/overcommit_memory = 1
-bash: /proc/sys/vm/overcommit_memory: Permission denied
Run Code Online (Sandbox Code Playgroud)

我还尝试将该行放在/etc/sysctl.conf 中并重新启动虚拟机,但它不起作用。

有人有线索吗?我在谷歌搜索中找不到任何东西。

Jef*_*der 5

/proc/sys 中的设置是虚拟文件。要更改它们,您需要像写入任何其他文件一样写入它们,如下所示:

echo 1 >/proc/sys/vm/overcommit_memory
Run Code Online (Sandbox Code Playgroud)

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

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

cat /proc/sys/vm/overcommit_memory
Run Code Online (Sandbox Code Playgroud)