Linux
发布时间:2022-04-01 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 低内存应用程序优先级,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
我在内存有限且无法添加交换空间的计算机上运行Debian.该机器用作Web和数据库服务器.我看到的问题是,当多个Web请求进入时,我的数据库停止接受连接,有时甚至崩溃,因为系统没有更多的可用RA
m. 是否有可能告诉Linux杀死特定进程(在我的情况下,Apach
E),以防另一个进程(在我的情况下,Firebird)请求内存而且还不够?如果不可能本地化,也许有一些工具可以帮助我实现这一目标? 您可以
我在内存有限且无法
添加交换空
间的计算机上运行Debian.该机器用作Web和
数据库服务器.我看到的问题是,当多个Web请求进入时,我的
数据库停止接受连接,有时甚至崩溃,因为系统没有更多的可用RA
m.
是否有可能告诉Linux杀死特定进程(在我的情况下,ApachE),以防另一个进程(在我的情况下,Firebird)请求内存而且还不够?如果不可能本地化,也许有一些工具可以帮助我实现这一目标?
您可以调整OOM杀手,以优先选择某些进程.每个进程都有
一个分数,表示系统在OOM情况下运行时进程被杀的可能性.您可以在/ proc / $
{PI
D} / oom_
score中查看进程的分数.您可以使用/ proc / $
{PI
D} / oom_adj来偏置OOM杀手的决定:高值会
增加OOM杀手杀死$
{PI
D}的可能性. oom_adj的值由子节点继承,因此您只需在启动时在主apache进程中设置它(
在这种情况下,您应该使用重启apache的监视程序
);另一种
方法是将主进程保持在
默认级别并调整每个子进程以使主进程保持活动状态并根据需要
重新生成子进程(
在这种情况下,您需要
一个外部守护进程来检查新的子进程并调整oom_adj).当然,这假设您正在使用多进程工作者;-)
请注意,oom_adj值的正常范围(-16,15)只是一个偏差,如果OOM杀手的得分足够高,它的启发式仍然可以选择另一个过程.特殊值-17使得该进程不受OOM杀手的攻击,但它很危险,因为如果不可杀死的进程(例如你的数据库)发狂,内核可能无法从内存不足中恢复.
大佬总结
以上是大佬教程为你收集整理的linux – 低内存应用程序优先级全部内容,希望文章能够帮你解决linux – 低内存应用程序优先级所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。