правка конфига и ридми
This commit is contained in:
parent
992a604a6b
commit
6bccc3402f
@ -35,12 +35,12 @@ https://2ch.hk/s/res/2310304.html#2311483, https://archive.li/idixk
|
|||||||
|
|
||||||
### Зачем нужен nohang, если уже есть earlyoom?
|
### Зачем нужен nohang, если уже есть earlyoom?
|
||||||
|
|
||||||
- `earlyoom` завершает (точнее убивает) процессы исключительно с помощью сигнала `SIGKILL`, в то время как `nohang` дает возможность сначала отправлять `SIGTERM`, и только если процесс не реагирует на `SIGTERM` - отправляется сигнал `SIGKILL`.
|
- `Earlyoom` завершает (точнее убивает) процессы исключительно с помощью сигнала `SIGKILL`, в то время как `nohang` дает возможность сначала отправлять `SIGTERM`, и только если процесс не реагирует на `SIGTERM` - отправляется сигнал `SIGKILL`.
|
||||||
- `earlyoom` не поддерживает работу со `zram` и не реагирует на общую долю `zram` в памяти (`mem_used_total`). Это может привести к тому, что система все также встанет колом, как если бы `earlyoom` и не было (если `disksize` большой, а энтропия сжимаемых данных велика). `Nohang` позволяет избавиться от этой проблемы. По умолчанию если доля `zram` достигнет 60% памяти - будет отправлен сигнал `SIGTERM` процессу с наибольшим `oom_score`.
|
- `Earlyoom` не поддерживает работу со `zram` и не реагирует на общую долю `zram` в памяти (`mem_used_total`). Это может привести к тому, что система все также встанет колом, как если бы `earlyoom` и не было (если `disksize` большой, а энтропия сжимаемых данных велика). `Nohang` позволяет избавиться от этой проблемы. По умолчанию если доля `zram` достигнет 60% памяти - будет отправлен сигнал `SIGTERM` процессу с наибольшим `oom_score`.
|
||||||
|
|
||||||
### Некоторые особенности
|
### Некоторые особенности
|
||||||
- задача - препятствовать зависанию системы при нехватке доступной памяти, а также корректное завершение процессов с целью увеличения объема доступной памяти
|
- задача - препятствовать зависанию системы при нехватке доступной памяти, а также корректное завершение процессов с целью увеличения объема доступной памяти
|
||||||
- демон на Python 3, VmRSS от 10 до 14 MiB в зависимости от настроек
|
- демон на Python 3, VmRSS от 9.5 до 12.9 MiB в зависимости от настроек
|
||||||
- требуется ядро `Linux 3.14` или новее
|
- требуется ядро `Linux 3.14` или новее
|
||||||
- периодически проверяет объем доступной памяти, при дефиците памяти отправляет `SIGKILL` или `SIGTERM` процессу с наибольшим `oom_score`
|
- периодически проверяет объем доступной памяти, при дефиците памяти отправляет `SIGKILL` или `SIGTERM` процессу с наибольшим `oom_score`
|
||||||
- поддержка работы со `zram`, возможность реакции на `mem_used_total`
|
- поддержка работы со `zram`, возможность реакции на `mem_used_total`
|
||||||
|
@ -1,20 +1,21 @@
|
|||||||
#!/bin/bash -v
|
#!/bin/bash -v
|
||||||
|
|
||||||
cp -f nohang /usr/local/bin/
|
cp nohang /usr/local/bin/
|
||||||
chmod 755 /usr/local/bin/nohang
|
chmod 755 /usr/local/bin/nohang
|
||||||
|
|
||||||
mkdir /etc/nohang
|
mkdir /etc/nohang
|
||||||
chmod 755 /etc/nohang
|
chmod 755 /etc/nohang
|
||||||
cp -f nohang.conf /etc/nohang/
|
cp nohang.conf /etc/nohang/
|
||||||
chmod 644 /etc/nohang/nohang.conf
|
chmod 644 /etc/nohang/nohang.conf
|
||||||
|
|
||||||
gzip -k nohang.1
|
gzip -k nohang.1
|
||||||
mkdir /usr/local/share/man/man1
|
mkdir /usr/local/share/man/man1
|
||||||
chmod 755 /usr/local/share/man/man1
|
chmod 755 /usr/local/share/man/man1
|
||||||
cp -f nohang.1.gz /usr/local/share/man/man1/
|
cp nohang.1.gz /usr/local/share/man/man1/
|
||||||
chmod 644 /usr/local/share/man/man1/nohang.1.gz
|
chmod 644 /usr/local/share/man/man1/nohang.1.gz
|
||||||
|
rm nohang.1.gz
|
||||||
|
|
||||||
cp -f nohang.service /etc/systemd/system/
|
cp nohang.service /etc/systemd/system/
|
||||||
chmod 644 /etc/systemd/system/nohang.service
|
chmod 644 /etc/systemd/system/nohang.service
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable nohang
|
systemctl enable nohang
|
||||||
|
@ -36,7 +36,7 @@ print_sleep_periods = True
|
|||||||
В Fedora 28 значение True вызывает увеличение потребления
|
В Fedora 28 значение True вызывает увеличение потребления
|
||||||
памяти процессом на 200 MiB, в Debian 8 и 9 такой проблемы нет.
|
памяти процессом на 200 MiB, в Debian 8 и 9 такой проблемы нет.
|
||||||
|
|
||||||
mlockall = True
|
mlockall = False
|
||||||
|
|
||||||
Установка отрицательных значений self_nice и self_oom_score_adj
|
Установка отрицательных значений self_nice и self_oom_score_adj
|
||||||
требует наличия root прав.
|
требует наличия root прав.
|
||||||
@ -140,7 +140,7 @@ decrease_oom_score_adj = True
|
|||||||
|
|
||||||
Допустимые значения - целые числа из диапазона [0; 1000]
|
Допустимые значения - целые числа из диапазона [0; 1000]
|
||||||
|
|
||||||
oom_score_adj_max = 20
|
oom_score_adj_max = 30
|
||||||
|
|
||||||
#####################################################################
|
#####################################################################
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user