Я использую Ubuntu 14.04. Недавно, когда я вхожу через SSH с моим пользователем с привилегиями sudo, каждая команда, которую я запускаю, приводит к ошибке «Не удается выделить память». Вот несколько, которые я попробовал на своей консоли
myuser@mymachine:~$ whoami
-bash: fork: Cannot allocate memory
myuser@mymachine:~$ uname -a
-bash: fork: Cannot allocate memory
Даже если я попытаюсь, sudo reboot now
я получу вышеуказанную ошибку, поэтому я не знаю, что еще я могу попытаться разблокировать мой экземпляр. Хост DigitalOcean, если это имеет значение.
Редактировать: В соответствии с ответом / предложением, приведенным здесь, вывод «бесплатно»
myuser@mymachine:~$ free
-bash: fork: Cannot allocate memory
sudo sysctl -w vm.oom_kill_allocating_task=1
или постоянно/etc/sysctl.conf
.sudo reboot
прежде чем запустить это. Благодарность!В дополнение к принятому ответу необходимо учесть еще одну вещь: ваша система может исчерпать файловые дескрипторы или даже буферы сокетов и все еще иметь много памяти, одновременно выдавая ту же ошибку. Это особенно верно, если общий хостинг налагает ограничения такого характера. В системах OpenVZ смотрите содержимое
Это даст вам в самом правом столбце первые переполнения. Если это так, либо перейдите к более крупному пакету хостинга, либо выследите наиболее вероятного виновника: базу данных mysql или mariadb, которая может, в случае неисправного приложения PHP, пропускать файл до сотни в секунду.
Это также может произойти, если на вашем веб-сервере ssh открыт для доступа в Интернет и принимает логины с именами пользователей и паролями: даже если у вас запущен fail2ban, возможно, вы столкнулись с попыткой разбить распределенный словарь при попытке, которая также потребляет много ресурсов.
источник