110 lines
3.1 KiB
Groff
110 lines
3.1 KiB
Groff
.TH nohang 8
|
|
|
|
.SH NAME
|
|
|
|
nohang \- A sophisticated low memory handler
|
|
|
|
.SH SYNOPSIS
|
|
.B nohang
|
|
.RB [ OPTION ]...
|
|
|
|
.SH 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.
|
|
|
|
.SH REQUIREMENTS
|
|
|
|
.B For basic usage:
|
|
|
|
- Linux 3.14+ (since MemAvailable appeared in /proc/meminfo)
|
|
|
|
- Python 3.3+ (not tested with previous)
|
|
|
|
.B To show GUI notifications:
|
|
|
|
- Notification server (most of desktop environments use their own implementations)
|
|
|
|
- libnotify (Fedora, Arch Linux) or libnotify-bin (Debian GNU/Linux, Ubuntu)
|
|
|
|
- sudo if nohang started with UID=0
|
|
|
|
.B To use PSI:
|
|
|
|
- It needs Linux 4.20+ with CONFIG_PSI=y.
|
|
|
|
.SH 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
|
|
|
|
.SH HOW TO CONFIGURE
|
|
|
|
The program can be configured by editing the config file.
|
|
|
|
.B 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.
|
|
|
|
Please restart nohang to apply the changes.
|
|
|
|
Default path to the config after installing is /etc/nohang/nohang.conf.
|
|
|
|
.SH 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.
|
|
|
|
.SH LOGGING
|
|
|
|
To view the latest entries in the log (for systemd users):
|
|
|
|
$ sudo journalctl -eu nohang
|
|
|
|
See also man journalctl.
|
|
|
|
You can also enable separate_log in the config to logging in /var/log/nohang/nohang.log.
|
|
|
|
.SH SEE ALSO
|
|
|
|
https://github.com/hakavlad/nohang
|