nohang/CHANGELOG.md
2019-06-05 08:25:03 +09:00

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
    • Improve output:
      • Display oom_score, oom_score_adj, Ancestry, EUID, State, VmSize, RssAnon, RssFile, RssShmem, CGroup_v1, CGroup_v2, Realpath, Cmdline and Lifetime 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
    • 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 running ps 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 matching Name, CGroup, cmdline, realpath and EUID with the specified regular expressions (issue #74)
      • Fix: replace re.fullmatch() by re.search()
    • Reduced memory usage:
      • Reduced memory usage and startup time (using sys.argv instead of argparse)
      • Reduced memory usage with mlockall() using MCL_ONFAULT (rfjakob/earlyoom#112) and lock all memory by default
    • 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 of line.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
  • v0.1, 2018-11-23: Initial release