nohang/docs/nohang.manpage.md
Alexey Avramov e1bfb84dd1 Generate man pages using pandoc
Add nohang.manpage.md
Update Makefile: add reinstall-deb target
2020-05-24 23:09:41 +09:00

80 lines
2.8 KiB
Markdown

% nohang(8) | Linux System Administrator's Manual
# NAME
nohang - A sophisticated low memory handler
# SYNOPSIS
**nohang** [**OPTION**]...
# DESCRIPTION
nohang is a highly configurable daemon for Linux which is able to correctly prevent out of memory (OOM) and keep system responsiveness in low memory conditions.
# REQUIREMENTS
#### For basic usage:
- Linux (>= 3.14, since MemAvailable appeared in /proc/meminfo)
- Python (>= 3.3)
#### To respond to PSI metrics (optional):
- Linux (>= 4.20) with CONFIG_PSI=y
#### To show GUI notifications (optional):
- notification server (most of desktop environments use their own implementations)
- libnotify (Arch Linux, Fedora, openSUSE) or libnotify-bin (Debian GNU/Linux, Ubuntu)
- sudo if nohang started with UID=0.
# OPTIONS
#### -h, --help
show this help message and exit
#### -v, \-\-version
show version of installed package and exit
#### -m, \-\-memload
consume memory until 40 MiB (MemAvailable + SwapFree) remain free, and terminate the process
#### -c CONFIG, \-\-config CONFIG
path to the config file. This should only be used with one of the following options:
\-\-monitor, \-\-tasks, --check
#### --check
check and show the configuration and exit. This should only be used with -c/--config CONFIG option
#### --monitor
start monitoring. This should only be used with -c/--config CONFIG option
#### --tasks
show tasks state and exit. This should only be used with -c/--config CONFIG option
# HOW TO CONFIGURE
The program can be configured by editing the config file. The configuration includes the following sections:
- Memory levels to respond to as an OOM threat
- Response on PSI memory metrics
- The frequency of checking the level of available memory (and CPU usage)
- The prevention of killing innocent victims
- Impact on the badness of processes via matching their names, cmdlines and UIDs with regular expressions
- The execution of a specific command or sending any signal instead of sending the SIGTERM signal
- GUI notifications:
- notifications of corrective actions taken
- low memory warnings
- Verbosity
- Misc
Just read the description of the parameters and edit the values. Restart the daemon to apply the changes.
# HOW TO TEST
The safest way is to run **nohang --memload**. This causes memory consumption, and the process will exits before OOM occurs. Another way is to run **tail /dev/zero**. This causes fast memory comsumption and causes OOM at the end. If testing occurs while nohang is running, these processes should be terminated before OOM occurs.
# LOGGING
To view the latest entries in the log (for systemd users):
$ **sudo journalctl -eu nohang.service**
or
$ **sudo journalctl -eu nohang-desktop.service**
You can also enable **separate_log** in the config to logging in **/var/log/nohang/nohang.log**.