Назад | Перейти на главную страницу

Избыточное использование памяти на сервере Ubuntu 9.10, работающем на VMWare Fusion 3.0 (osx)

Я не могу установить overcommit_memory изнутри оболочки:

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

Также я попытался поместить эту строку в / etc /sysctl.conf и перезагружаю виртуальную машину, но она не работает.

У кого-то есть подсказки? Я ничего не нашел в поиске в Google.

Настройки в / proc / sys - это виртуальные файлы. Чтобы изменить их, вам нужно написать в них, как в любой другой файл, например:

echo 1 >/proc/sys/vm/overcommit_memory

Команда, которую вы пробовали, - запустить /proc/sys/vm/overcommit_memory как исполняемый файл, что, конечно, невозможно. Вы получаете сообщение «Permission denied» потому, что этот файл не установлен как исполняемый, а не потому, что вы не можете его изменить.

Вы можете увидеть текущую настройку, прочитав файл:

cat /proc/sys/vm/overcommit_memory

Спасибо, Джефф, я пробовал:

echo 1 > /proc/sys/vm/overcommit_memory

но:

-bash: echo: write error: Operation not permitted

проблема заключалась в том, что возможность записи файла была «заблокирована» сервером виртуальной машины, поэтому мне пришлось попросить системного администратора включить ее.

на ящике unix дома, где я установил сервер VMWare, я попробовал его, и он работал как у меня, так и у вашего решения.

Сначала вы должны использовать команду cat /proc/mounts.

Если точка монтирования /proc был смонтирован в режиме только для чтения, необходимо его перемонтировать.

Попробуйте перемонтировать с помощью команды mount -o remount,rw /proc.

После перемонтирования попробуйте использовать echo команду снова.