centos内存大量被占用(kswap进程CPU利用率过高100%)的解决方案

Posted baker95935

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos内存大量被占用(kswap进程CPU利用率过高100%)的解决方案相关的知识,希望对你有一定的参考价值。

问题描述:  
    通过free查看时,大概有一半以上的物理内存分配到cache里面,这样大的 cache是造成内存的耗尽缘由,与此同时使用top或ps查看进程时,kswapd进程负荷 很高,一般在90%以上,kswapd进程的作用是用于内存回收,确保系统空闲物理内 存的数量在一个合适的范围,它是按照一定比率来回收系统当前不活动的内存(默 认的比率是5%),也就是cache和buffer占用的。
    在红旗4.0或4.1服务器版本(小于2.4.21-9.30的内核应该都存在这个问题)上安装数据库或OA应用出现机率比较高,因 为这些应用有大量的数据需要在内存和硬盘之间交换,这应该属于内核的一个 BUG,在4.1上打上SP1的补丁就不会有这种情况了。

解决方案:

  将inactive_clean_percent 的值由缺省的5调整到 100,这样做的目的就是设置kswapd回收内存的比率为100%,具体做法是:

  # echo 100 > /proc/sys/vm/inactive_clean_percent

    如果能解决问题,最好把的这条命令加到rc.local里面。

以上是关于centos内存大量被占用(kswap进程CPU利用率过高100%)的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

linux如何查看内存被哪些进程占用

Linux(CentOS) 查看当前占用CPU或内存最多的K个进程

NT kernel&system进程占用了很多cpu,电脑运行超慢,CPU经常飚到100%

W3wp.exe占用CPU及内存资源

Code Helper占用大量CPU和内存

空闲的 postgres 进程占用大量内存