首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止mysql进程被OOM杀手杀死

防止mysql进程被OOM杀手杀死
EN

Database Administration用户
提问于 2020-01-03 01:36:23
回答 1查看 5.5K关注 0票数 5

我需要保护mysql进程,这样当系统耗尽内存时,它就不会被杀死,我们会时不时地在服务器上运行一堆临时作业,所以我更喜欢被杀死的临时作业,而不是mysql。

我知道我可以调整oom_score_adj,通过将它设置为-1000,我可以从OOM杀手的考虑中排除它。但是我不确定是否需要重新启动mysql进程以使新的oom_score_adj生效?为运行中的进程调整oom_score_adj是否仍然有效?

我一直在关注这篇文章,没有人提到重新启动服务器以使新的oom_score_adj生效:https://blog.rimuhosting.com/2015/12/11/dont-let-the-oom-killer-stop-mysql/

另一个愚蠢的问题是,我似乎无法写入oom_score_adj文件,总是被拒绝权限。oom_score_adj不是根用户拥有的,我尝试了几个选项,但是一直得到权限问题:

代码语言:javascript
复制
 echo "echo '-100' > /proc/5653/oom_score_adj" | sudo -u {file_owner} sh

感谢您的帮助!

EN

回答 1

Database Administration用户

发布于 2020-01-03 07:59:37

RHEL7使用systemd。使用OOMScoreAdjust如下:

代码语言:javascript
复制
sudo systemctl edit mysqld.service

注意:我不确定确切的服务名称

增加以下案文:

代码语言:javascript
复制
[Service]
OOMScoreAdjust=-1000

重新启动时:

代码语言:javascript
复制
systemctl restart mysqld.service

通过看分数来检查:

代码语言:javascript
复制
cat /proc/$(pidof mysqld)/oom_score_adj
票数 7
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/256631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档