避免mysqld进程被oom

 
# mkdir /etc/systemd/system/mysqld.service.d

cat >/etc/systemd/system/mysqld.service.d/avoid_oom.conf<<EOF 
# avoid oom-killer
[Service]
ExecStartPost=/bin/sudo /usr/local/bin/oom_mysql.sh
EOF


重载 systemctl units
systemctl daemon-reload



文件 /usr/local/bin/oom_mysql.sh 内容如下
#!/bin/bash

MYSQL_PID=$(pgrep mysqld)
for var in ${MYSQL_PID[@]};do
  echo "-100" > /proc/$var/oom_score_adj
done


chmod 755 /usr/local/bin/oom_mysql.sh


把你要增加的sudoers配置放在/etc/sudoers.d/ 目录下的文件中,文件名可以随意。

# visudo -f /etc/sudoers.d/4mysql
Defaults:mysql !requiretty
mysql  ALL=(ALL)       NOPASSWD: /usr/local/bin/oom_mysql.sh



 

 

posted @ 2021-06-07 16:49  屠魔的少年  阅读(3)  评论(0)    收藏  举报