暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

kswapd 进程占用过多资源导致RAC宕机

原创 eygle 2010-12-08
920
最近在上海一个客户现场,帮助诊断一个RAC宕机问题,最终发现是kswapd进程占用了大量的CPU资源。

在Top采样输出中,最高的两个就是kswapd0,kswapd1两个进程,分别占用307.9%,299%的CPU资源:
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 1415 root      20  -5     0    0    0 R 307.9  0.0 121:58.00 [kswapd1]        
 1414 root      20  -5     0    0    0 R 299.0  0.0  90:33.22 [kswapd0]
2713 root      20  -5     0    0    0 R 112.5  0.0  23:29.55 [kjournald]      
8342 root      10  -5     0    0    0 S 21.3  0.0   4:08.28 [kjournald]
29428 root      15   0     0    0    0 S 11.0  0.0  10:59.91 [pdflush]       
最终资源耗尽,导致一个节点将另外一个节点驱逐。

记录一下在网上找到的kswapd进程的解释:
1.Linux
uses kswapd for virtual memory management
such that pages that have
been recently accessed are kept in memory and less active pages are
paged out to disk.

2.系统每过一定时间就会唤醒kswapd进程,查看内存资源是否紧张,如果不紧张,则继续睡眠,在kswapd中,有2个阀值,pages_hige和pages_low,当空闲内存页的数量低于pages_low的时候,kswapd进程就会扫描内存并且每次释放出 32个free pages,直到free page的数量到达pages_high.

kswapd进程导致系统故障的案例为数不少,有些是Bug导致的,以下Bug是Redhat网站登记的重要参考:
https://bugzilla.redhat.com/show_bug.cgi?id=293641

这个客户的环境可以通过系统优化来解决。

-The End-



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论