Я не могу установить 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
команду снова.