eygle.com   eygle.com
eygle.com eygle
eygle.com  
 

« 参加Oracle Open World 2010 ·北京 | Blog首页 | O3SP - 深入解析Oracle - 我的主题演讲 »

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

最近在上海一个客户现场,帮助诊断一个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-




历史上的今天...
    >> 2018-12-17文章:
    >> 2008-12-17文章:
    >> 2007-12-17文章:
    >> 2005-12-17文章:
           北京天下亦有雪

By eygle on 2010-12-17 08:05 | Comments (3) | System | 2676 |

3 Comments

怎么优化的呢?给个步骤先.
把系统换到AS4或者US4的U7版本,或者5.0以上,是不是BUG就修复了呢?

不过这个一般影响大,要求停机时间长。


CopyRight © 2004~2020 云和恩墨,成就未来!, All rights reserved.
数据恢复·紧急救援·性能优化 云和恩墨 24x7 热线电话:400-600-8755 业务咨询:010-59007017-7040 or 7037 业务合作: marketing@enmotech.com