Запуск любой команды возвращает «Невозможно выделить память» на сервере Ubuntu

7

Я использую Ubuntu 14.04. В последнее время, когда я вхожу в систему через SSH с моим пользователем с привилегиями sudo, каждая выполняемая мной команда приводит к ошибке «Не удается выделить память». Вот несколько моих попыток на консоли.

[email protected]:~$ whoami
-bash: fork: Cannot allocate memory
[email protected]:~$ uname -a
-bash: fork: Cannot allocate memory

Даже если я попробую sudo reboot now , я получаю вышеуказанную ошибку, поэтому я не знаю, что еще я могу попытаться разблокировать свой экземпляр. Хозяин - DigitalOcean, если это имеет значение.

Изменить: На ответ / предложение, приведенное здесь, выводится «свободный»

[email protected]:~$ free
-bash: fork: Cannot allocate memory
    
задан Dave 03.11.2016 в 20:01
источник

1 ответ

7

Решение

Как говорится в сообщениях об ошибках, на вашем компьютере закончилась нехватка памяти. Это может быть по целому ряду причин, но в основном что-то поедает всю вашу память и не оставляет никаких остатков даже для базового использования команд.

Я бы предположил, что вы перезагрузите свою каплю (просто зайдите на панель управления вашего клиента и выберите «Перезагрузка»), ssh in, а затем запустите top или htop . Следите за использованием памяти и смотрите, какой процесс использует всю память. Оттуда попробуйте либо

  1. Убийство / удаление неисправной программы / процесса

    ПРЕДУПРЕЖДЕНИЕ : ПОЖАЛУЙСТА сделайте свое исследование, если процесс является основным системным процессом, сначала! Если системный процесс вызывает проблемы с памятью, не просто убивайте его, занимайтесь его исследованием и конкретными способами борьбы с ним.
  2. Изменение конфигурации для этой программы / процесса, чтобы она не съедала всю вашу память.

Предложения по предотвращению повторения проблемы

  • Что-то хорошее - добавить память подкачки , поскольку он выделяет больше памяти, если у вас заканчивается.
  • Всякий раз, когда вы устанавливаете программы, убедитесь, что вы правильно настроили их, чтобы они не выполнялись непреднамеренно (например, при еде памяти).
  • Каждый раз, когда вы добавляете пакет или в основном настраиваете все новое, проверьте htop или top , чтобы узнать, сколько памяти вы используете с текущими программами. Если вы заметили, что используете почти все, попробуйте очистить их, просмотрев и удалив ненужные программы / процессы.
  • Если есть что-то, что автоматически запускается (помимо системных процессов, конечно!), которые вы не узнаете или хотите быть автозапущенными, удалите его! Но всегда делайте свое исследование того, что происходит перед тем, как убить / удалить его, поскольку это может быть важно для процедур загрузки или системных функций и т. Д.
ответ дан Owen Hines 03.11.2016 в 20:55
источник