исчерпание ОЗУ, система колом, как остановить\кильнуть?

Проверил со swap (swap = 5G)..... конечно плохо, все зависло на 3 минуты и долго приходит в себя (что вообщем то и очевидно) ... nohang в этом отношении лучше.
date; tail /dev/zero; date
Вс 07 июн 2020 11:14:00 MSK
Завершено
Вс 07 июн 2020 11:17:00 MSK

Если уж использовать ути утилиты, то нужно ОБЯЗАТЕЛЬНО отключать swap.

ВЫВОД ...... оставляю earlyoom и отключаю swap .... и понаблюдаю с недельку.

EDIT 1 - продолжил эксперимент (конечно, с отключенным swap) - открывал мощную карту, одну и ту же много раз ... температура за 70, память забита, НО зависаний не заметил, earlyoom убивал приложения мгновенно ...
journalctl -b | grep 'low memory!'
июн 07 11:27:43 arch earlyoom[23681]: low memory! at or below SIGTERM limits: mem 10.00%, swap 10.00%
июн 07 11:27:47 arch earlyoom[23681]: low memory! at or below SIGTERM limits: mem 10.00%, swap 10.00%
июн 07 11:27:53 arch earlyoom[23681]: low memory! at or below SIGTERM limits: mem 10.00%, swap 10.00%
июн 07 11:28:03 arch earlyoom[23681]: low memory! at or below SIGTERM limits: mem 10.00%, swap 10.00%
июн 07 11:28:06 arch earlyoom[23681]: low memory! at or below SIGTERM limits: mem 10.00%, swap 10.00%
июн 07 11:28:09 arch earlyoom[23681]: low memory! at or below SIGTERM limits: mem 10.00%, swap 10.00%
и да - небольшой конфиг имеется.
Ошибки не исчезают с опытом - они просто умнеют
grayich, проверь, может и понравится ... для этого
# pacman -S earlyoom
# sudo systemctl enable --now earlyoom.service
проверь статус - systemctl status earlyoom.service
# swapoff -a
tail /dev/zero
должно завршится мгновенно
далее можешь тестить свою прогу ...
Ошибки не исчезают с опытом - они просто умнеют
как по мне, этот earlyoom не решение, а костыль...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
vasek
# swapoff -a
А зачем swap отключать?
Вроде же в настройках можно указать
при каком проценте заполнения swap срабатывать.
nafanja
а костыль…
это не костыль а oom_kill, лично мне такой и нужен жесткий и быстрый, вместо ядерного Alt+SysRq+f
Хочешь мягкий режим - ограничить потребление рессурсов процесса (типа посадить процесс в контейнер) используй cgroups, но это, имхо, муторно и сложно.
Ошибки не исчезают с опытом - они просто умнеют
RusWolf
при каком проценте заполнения swap срабатывать.
Уже думал на этот счет, но посмотрел бегло параметры и показалось, что процент общий - и для ОЗУ и для свап. .... или есть отдельный параметр, только для свап? - нужно будет уточнить.
Ошибки не исчезают с опытом - они просто умнеют
vasek, я это о том что ядерный киллер должен работать так же, его и нужно дорабатывать, а это так, затычка проблемы...
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
vasek
только для свап? - нужно будет уточнить.
-m память
-s swap
RusWolf
-s swap
точно, просмотрел ...
-s PERCENT[,KILL_PERCENT] set free swap minimum to PERCENT of total (default 10 %).
Вот только нужно поэкспериментировать, какой процент установить.
Ошибки не исчезают с опытом - они просто умнеют
vasek
Хочешь мягкий режим - ограничить потребление рессурсов процесса (типа посадить процесс в контейнер) используй cgroups, но это, имхо, муторно и сложно.
Сложного мало, но работает ли оно сейчас? Помнится одно время у cgroups с systemd не срослось.
 
Зарегистрироваться или войдите чтобы оставить сообщение.