nohang/trash/new5.conf
Alexey Avramov ec2f960383 fix CLI
2019-04-04 15:08:27 +09:00

141 lines
3.0 KiB
Plaintext

This is nohang config file.
Lines starting with $ contain obligatory parameters.
Lines starting with @ contain optional parameters.
Other lines are comments.
0. Common zram settings
See https://www.kernel.org/doc/Documentation/blockdev/zram.txt
You maybe need $IGNORE_ZRAM=FALSE if you has a big zram disksize
$IGNORE_ZRAM = TRUE
1. Common PSI settings
See
https://lwn.net/Articles/759658/
https://facebookmicrosites.github.io/psi/
$IGNORE_PSI = TRUE
$PSI_PATH = /proc/pressure/memory
some_avg10 is most sensitive.
$PSI_METRICS = some_avg10
$PSI_EXCESS_DURATION = 0
$PSI_POST_ACTION_DELAY = 40
2. Poll rate
$FILL_RATE_MEM = 4000
$FILL_RATE_SWAP = 1500
$FILL_RATE_ZRAM = 500
$MIN_SLEEP = 0.1
$MAX_SLEEP = 3
3. Warnings / GUI notifications
$GUI_CORRECTIVE_ACTIONS = FALSE
$GUI_LOW_MEMORY_WARNINGS = FALSE
$GUI_WARNINGS_MIN_MEM = 20 %
$GUI_WARNINGS_MIN_SWAP = 20 %
$GUI_WARNINGS_MAX_ZRAM = 45 %
$GUI_MIN_DELAY_AFTER_WARNING = 15
@EXE_INSTEAD_OF_GUI_WARNING wall -n "LOW MEMORY!"
@EXE_INSTEAD_OF_GUI_WARNING echo 'test'
4. Soft threshold / SIGTERM-related parameters
$SOFT_MIN_MEM_THRESHOLD = 10 %
$SOFT_MIN_SWAP_THRESHOLD = 10 %
$SOFT_MAX_ZRAM_THRESHOLD = 50 %
$SOFT_POST_ACTION_DELAY = 0.2
$MAX_POST_SOFT_ACTION_VICTIM_LIFETIME = 9
$SOFT_MAX_PSI_THRESHOLD = 60
$SOFT_MAX_PSI_DURATION = 5
The execution of specified command instead of sending the SIGTERM signal.
Syntax example:
<key> <regular expression> /// <command>
@EXE_INSTEAD_OF_SIGTERM_RE_NAME ^foo$ /// kill -9 $PID && echo "Praise KEK, kill $NAME" &
@EXE_INSTEAD_OF_SIGTERM_RE_CMDLINE ^/sbin/foo /// systemctl restart foo
@EXE_INSTEAD_OF_SIGTERM_RE_REALPATH ^/sbin/bar$ /// systemctl restart foo
@EXE_INSTEAD_OF_SIGTERM_RE_UID ^1000$ /// pkill -SEGV $NAME
@EXE_INSTEAD_OF_SIGTERM_RE_UID ^1001$ /// pkill -HUP $NAME
@SOFT_THRESHOLD_EXE_RE_NAME
5. Hard threshold / SIGKILL-related parameters
$HARD_MIN_MEM_THRESHOLD = 5 %
$HARD_MIN_SWAP_THRESHOLD = 5 %
$HARD_MAX_ZRAM_THRESHOLD = 55 %
$POST_KILL_EXE =
$HARD_POST_ACTION_DELAY = 1
$HARD_MAX_PSI_THRESHOLD = 90
$HARD_MAX_PSI_DURATION = 5
$POST_KILL_EXE =
6. Adjusting badness of processes
$OOM_SCORE_ADJ_LIMIT = -1
Badness adjusting by matching process name, cmdline and eUID with specified regular expression.
Example badness adj rules
<key> <regular expression> /// <badness_adj>
@BADNESS_ADJ_RE_CMDLINE -childID|--type=renderer /// 200
@BADNESS_ADJ_RE_NAME ^Xorg$ /// -100
@BADNESS_ADJ_RE_UID ^0$ /// -50
@BADNESS_ADJ_RE_REALPATH ^/usr/bin/tail$ /// 100
7. Avoid killing small processes (innocent victims)
$MIN_VICTIM_BADNESS = 20
8. Verbosity
$PRINT_CONFIG_AT_STARTUP = FALSE // --print-config
$MIN_MEM_REPORT_INTERVAL = -1
$PRINT_VICTIM_INFO = TRUE
$PRINT_TOTAL_STAT = TRUE
$PRINT_PROC_TABLE = FALSE
$PRINT_SLEEP_PERIODS = FALSE