3.6 KiB
3.6 KiB
Changelog
-
In progress
- Added new CLI options:
- -v, --version
- -p, --print-proc-table
- Possible process crashes are fixed:
- Fixed crash at startup due to
UnicodeDecodeError
on some systems - Handled
UnicodeDecodeError
if victim name consists of many unicode characters (rfjakob/earlyoom#110) - Fixed process crash before performing corrective actions if Python 3.4 or lower are used to interpret nohang
- Fixed crash at startup due to
- Improve output:
- Display
oom_score
,oom_score_adj
,Ancestry
,EUID
,State
,VmSize
,RssAnon
,RssFile
,RssShmem
,CGroup_v1
,CGroup_v2
,Realpath
,Cmdline
andLifetime
of the victim in corrective action reports - Added memory report interval
- Added delta memory info (the rate of change of available memory)
- Print statistics on corrective actions after each corrective action
- Added ability to print a process table before each corrective action
- Added the ability to log into a separate file
- Display
- Improved GUI warnings:
- Reduced the idle time of the daemon in the process of launching a notification
- All notify-send calls are made using the
nohang_notify_helper
script, in which all timeouts are handled - Native python implementation of
env
search without runningps
to notify all users if nohang started with UID=0. - Messages are sent to the helper via a temporary file in
/dev/shm
- Deduplication of frequently repeated identical notifications (for example, if the victim does not respond to SIGTERM)
- Improved modifing badness via matching with regular expressions:
- Added the ability to set many different
badness_adj
for processes depending on the matchingName
,CGroup
,cmdline
,realpath
andEUID
with the specified regular expressions (issue #74) - Fix: replace
re.fullmatch()
byre.search()
- Added the ability to set many different
- Reduced memory usage:
- Reduced memory usage and startup time (using
sys.argv
instead ofargparse
) - Reduced memory usage with
mlockall()
usingMCL_ONFAULT
(rfjakob/earlyoom#112) and lock all memory by default
- Reduced memory usage and startup time (using
- Added new tools:
oom-sort
psi-top
psi-monitor
- Improve poll rate algorithm
- Fixed Makefile for installation on CentOS 7 (remove gzip
-k
option). - Added
max_post_sigterm_victim_lifetime
option: send SIGKILL to the victim if it doesn't respond to SIGTERM for a certain time - Added
post_kill_exe
option (the ability to run any command after killing the victim) - Added
warning_exe
option (the ability to run any command instead of GUI low memory warnings) - Improved victim search algorithm (do it ~30% faster) (rfjakob/earlyoom#114)
- Improved limiting
oom_score_adj
: now it can works with UID != 0 - Fixed conf parsing: use of
line.partition('=')
instead ofline.split('=')
- Removed self-defense options from the config, use systemd unit scheduling instead
- Added the ability to send any signal instead of SIGTERM for processes with certain names
- Added initial support for
PSI
- Improved user input validation
- Improved documentation
- Handle signals
- Added new CLI options:
-
v0.1, 2018-11-23: Initial release