103 lines
2.4 KiB
Plaintext
103 lines
2.4 KiB
Plaintext
|
|
This is nohang config file.
|
|
Lines starting with $ contain obligatory parameters.
|
|
Lines starting with @ contain optional parameters.
|
|
Other lines are comments.
|
|
|
|
|
|
1. Ignore PSI and zram.
|
|
|
|
$IGNORE_PSI = TRUE
|
|
$IGNORE_ZRAM = TRUE
|
|
|
|
|
|
2. Poll rate
|
|
|
|
$POLL_RATE = 60
|
|
$MIN_SLEEP = 0.1
|
|
$MAX_SLEEP = 2
|
|
|
|
|
|
3. 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'
|
|
@EXE_INSTEAD_OF_GUI_WARNING echo 'test2'
|
|
|
|
|
|
4. SIGTERM-related parameters
|
|
|
|
$SIGTERM_MIN_MEM = 10 %
|
|
$SIGTERM_MIN_SWAP = 10 %
|
|
$SIGTERM_MAX_ZRAM = 50 %
|
|
$DELAY_AFTER_SIGTERM = 0.2
|
|
|
|
$SIGTERM_MAX_PSI_SOME_AVG10_THRESHOLD = 60
|
|
$SIGTERM_MAX_PSI_SOME_AVG10_DURATION = 5
|
|
$DELAY_AFTER_SIGTERM_PSI_SOME_AVG10 = 40
|
|
|
|
The execution of specified command instead of sending a SIGTERM signal.
|
|
Syntax example:
|
|
<key> <regular expression> /// <command>
|
|
|
|
@EXE_INSTEAD_OF_SIGTERM_RE_PROCESSNAME ^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_UID ^1000$ /// pkill -SEGV $NAME
|
|
@EXE_INSTEAD_OF_SIGTERM_RE_UID ^1001$ /// pkill -HUP $NAME
|
|
|
|
|
|
5. SIGKILL-related parameters
|
|
|
|
$SIGKILL_MIN_MEM = 5 %
|
|
$SIGKILL_MIN_SWAP = 5 %
|
|
$SIGKILL_MAX_ZRAM = 55 %
|
|
$DELAY_AFTER_SIGKILL = 1
|
|
|
|
$SIGKILL_MAX_PSI_SOME_AVG10_THRESHOLD = 90
|
|
$SIGKILL_MAX_PSI_SOME_AVG10_DURATION = 5
|
|
$DELAY_AFTER_SIGKILL_PSI_SOME_AVG10 = 60
|
|
|
|
|
|
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
|
|
|
|
|
|
7. Avoid killing small processes (innocent victims)
|
|
|
|
$MIN_VICTIM_BADNESS = 20
|
|
|
|
|
|
8. Verbosity
|
|
|
|
$PRINT_CONFIG_AT_STARTUP = FALSE
|
|
|
|
$PRINT_TOTAL_STAT = TRUE
|
|
|
|
$PRINT_MEM_CHECK_RESULTS = FALSE
|
|
$MIN_DELAY_AFTER_PRINT_MEM_CHECK_RESULTS = 60
|
|
|
|
$PRINT_SLEEP_PERIODS = FALSE
|
|
|