earlyoom

earlyoom

1. OOM

​ 了解earlyoom之前要先了解一下OOM机制,然后为什么要使用earlyoom

内存不足(OOM) :out of memory,指由于系统内存压力,系统会选择保护一些系统进程,而将一些其他的进程kill掉,释放内存。

​ 之所以会有系统Hang 住的情况,也是因为OOM之前会做一些清理,比如 Linux 会尝试清理内存页缓存会清空所有 buffer,但是这种危急情况下系统会进入呆滞状态,响应非常缓慢。

​ 为了避免这种情况发生,我们希望在一定的条件下,我们可以让进程"自杀"。所以,当我们监控到系统内存不足的情况下,决定通过earlyoom完成这个过程。

2.earlyoom安装配置与参数说明

安装与配置

# 安装
yum install -y earlyoom
# 配置
vi /etc/default/earlyoom
EARLYOOM_ARGS="-r 0 -m 5 -s 5 --avoid '^(dnf|packagekitd|gnome-shell|gnome-session-c|gnome-session-b|lightdm|sddm|sddm-helper|gdm|gdm-wayland-ses|gdm-session-wor|gdm-x-session|Xorg|Xwayland|systemd|systemd-logind|dbus-daemon|dbus-broker|cinnamon|cinnamon-sessio|kwin_x11|kwin_wayland|plasmashell|ksmserver|plasma_session|startplasma-way|xfce4-session|mate-session|marco|lxqt-session|openbox)$'"
# 设置自启
sudo systemctl start earlyoom
sudo systemctl enable earlyoom

参数说明

-m PERCENT[,KILL_PERCENT] set available memory minimum to PERCENT of total
                            (default 10 %).
                            earlyoom sends SIGTERM once below PERCENT, then
                            SIGKILL once below KILL_PERCENT (default PERCENT/2).
  -s PERCENT[,KILL_PERCENT] set free swap minimum to PERCENT of total (default
                            10 %).
                            Note: both memory and swap must be below minimum for
                            earlyoom to act.
  -M SIZE[,KILL_SIZE]       set available memory minimum to SIZE KiB
  -S SIZE[,KILL_SIZE]       set free swap minimum to SIZE KiB
  -i                        user-space oom killer should ignore positive
                            oom_score_adj values
  -n                        enable d-bus notifications
  -d                        enable debugging messages
  -v                        print version information and exit
  -r INTERVAL               memory report interval in seconds (default 1), set
                            to 0 to disable completely
  -p                        set niceness of earlyoom to -20 and oom_score_adj to
                            -100
  --prefer REGEX            prefer to kill processes matching REGEX
  --avoid REGEX             avoid killing processes matching REGEX
  --dryrun                  dry run (do not kill any processes)
  -h, --help                this help text
附录
  1. Linux下防止进程使用swap及防止OOM机制导致进程被kill掉
  2. 防止OOM导致服务器卡死
  3. linux内存管理(十四)-内存OOM触发分析
  4. earlyoom配置
  5. linux内存回收(三)–OOM Killer
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值