Как вы предотвращаете зависание системы при израсходовании памяти?

Я запускаю процесс (gdb), который может легко использовать все мое ram и swap-пространство. Каждый раз, когда это происходит, вся система становится очень невосприимчивой, и Xorg будет едва обновляться, я не могу перескакивать на другой tty, я не могу вводить команды в консоли и т. Д.

Я попытался выделить память:

sudo sysctl -w vm.min_free_kbytes=407580 sudo sysctl -w vm.swappiness=5 

Некоторая часть виртуальной памяти была спасена, но пространство подкачки было израсходовано, а затем система все еще не реагировала.

Есть ли у кого-нибудь надежные способы, чтобы система полностью не замерзала? Чтобы я мог убивать процессы взлома памяти?

Обновить:

Я нашел способ ограничить использование памяти для каждого процесса, запущенного из конкретной оболочки, с помощью:

 ulimit -v 2037900 

Это задерживает каждый процесс до 2037900 KiB (что является моей общей памятью) виртуальной памяти. Это больше, чем любой другой процесс. Пока это мешает системе замедляться и замерзать.

Я все равно хотел бы знать, знает ли кто-нибудь о хороших практиках управления системными ресурсами.

One Solution collect form web for “Как вы предотвращаете зависание системы при израсходовании памяти?”

Посмотрите на Linux Out Of Memory Killer. Не запускается ли он автоматически на вашем сервере? Это у меня.

http://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html

  • Мониторинг процессов с использованием только системных вызовов (без утилит, таких как `top`)
  • По-видимому, Swap не используется
  • Отслеживание использования памяти Linux, когда не отображается в кеше
  • Что такое «автоматическое расширение стека»?
  • Отклонить malloc для голодного приложения
  • Получение данных из mem-кеша
  • Сколько оперативной памяти, дискового пространства и времени процессора используется скриптом
  • очень высокая память буферной памяти
  • rsyslogd съел 20 + ГБ (!) ОЗУ - какие доказательства собирать?
  • Ubuntu 14.04 с использованием пространства подкачки на 100%, с более чем 40 ГБ свободной памяти, почему?
  • Имеет ли segfaults плохую память
  • Найти средний процессор, vMem, использование sMem на 1, 5 и 15мин
  • Linux и Unix - лучшая ОС в мире.