Ubuntu 14.04 服务器 - 内存不足(OOM killer) - 是什么导致了我的内存问题/泄漏?

Ubuntu 14.04 服务器 - 内存不足(OOM killer) - 是什么导致了我的内存问题/泄漏?

我尝试找出我的服务器每隔几周就会出现内存不足并调用 OOM 终止程序的原因。似乎是内存使用量稳定了大约 2 周,然后逐渐上升了 2 周。然后内存使用量大幅上升,导致调用 OOM。

https://i.stack.imgur.com/PNIO5.jpg

徒步旅行前的内存使用情况:

Wed Jun  3 08:50:01 EDT 2015                                                                                                                   
COMMAND         %MEM                                                                                                                           
tor             14.7
mysqld          11.8                                                                                                                           
spamd child      5.5                                                                                                                           
apache2          4.6                                                                                                                           
spamd child      4.5                                                                                                                           
apache2          4.4                                                                                                                           
apache2          4.4                                                                                                                           
apache2          4.2                                                                                                                           
apache2          4.2                                                                                                                           
apache2          3.3                                                                                                                           
Memory Space Details                                                                                                                           
Total Memory space : 1250 MB                                                                                                                   
Used Memory Space : 964 MB                                                                                                                     
Free Memory : 285 MB                                                                                                                           
Swap memory Details                                                                                                                            
Total Swap space : 255 MB                                                                                                                      
Used Swap Space : 81 MB                                                                                                                        
Free Swap : 174 MB 

这是在调用 OOM 之前的内存使用情况。

Wed Jun  3 09:10:02 EDT 2015                                                                                                                   
COMMAND         %MEM                                                                                                                           
tor             13.4
mysqld          11.2                                                                                                                           
spamd child      5.2                                                                                                                           
apache2          3.8                                                                                                                           
apache2          3.6                                                                                                                           
apache2          3.3                                                                                                                           
apache2          2.6                                                                                                                           
apache2          2.5                                                                                                                           
apache2          2.5                                                                                                                           
spamd child      2.4                                                                                                                           
Memory Space Details                                                                                                                           
Total Memory space : 1250 MB                                                                                                                   
Used Memory Space : 873 MB                                                                                                                     
Free Memory : 376 MB                                                                                                                           
Swap memory Details                                                                                                                            
Total Swap space : 255 MB                                                                                                                      
Used Swap Space : 178 MB                                                                                                                       
Free Swap : 77 MB  

系统调用OOM:

1 Time(s): /usr/sbin/spamd invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj=0

TOR 进程已被终止。

重启后,内存使用率下降,系统可正常运行几周。

OMMAND         %MEM                                                                                                                           
tor             12.0                                                                                                                           
mysqld           7.8                                                                                                                           
/usr/sbin/spamd  6.2                                                                                                                           
spamd child      6.1                                                                                                                           
spamd child      6.1                                                                                                                           
apache2          4.4                                                                                                                           
apache2          2.9                                                                                                                           
apache2          2.9                                                                                                                           
apache2          2.5                                                                                                                           
apache2          2.0                                                                                                                           
Memory Space Details                                                                                                                           
Total Memory space : 1250 MB                                                                                                                   
Used Memory Space : 659 MB                                                                                                                     
Free Memory : 590 MB                                                                                                                           
Swap memory Details                                                                                                                            
Total Swap space : 255 MB                                                                                                                      
Used Swap Space : 0 MB                                                                                                                         
Free Swap : 255 MB 

内核输出: http://pastebin.com/rBvbFcyt

内存突然增加从何而来?为什么内存使用量在两周内逐渐增加?内存泄漏?

答案1

根据提供的信息,很难说出是什么导致了这种跳跃或逐渐增加。

提供的快照表明,内存占用最高的用户实际上表现得很好 - 他们的内存占用是降低在内存紧缩期间,就在 OOM 杀手攻击之前。这表明其他一些进程实际上也导致了紧缩(可能与某些用户活动有关,可能是某些 cron 内容,可能是某些瞬态条件突然比平时持续更长时间?)。

不幸的是,OOM​​ 终止程序不够智能,会盲目地终止顶部内存用户进程 - 在我看来,对于具有专用功能的服务器来说,这是一个相当没有创意的决定。

需要进行更详细的监控才能发现导致内存紧缩的进程。我会从定期顶部处决信息泄露全部将进程保存到一个文件中,以便以后检查。为什么是所有进程?因为进程数量的突然激增或逐渐增加(即使每个进程占用的内存很小)也可能解释内存使用率的变化,就像您报告的那样。

相关内容