服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Centos - centos内存大量被占用(kswap进程CPU利用率过高100%)的解决方案

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

2020-07-15 17:37baker95935 Centos

问题描述: 通过free查看时,大概有一半以上的物理 内存 分配到cache里面,这样大的 cache是造成内存的耗尽缘由,与此同时使用top或ps查看 进程 时,kswapd进程负荷 很高,一般在90%以上,kswapd进程的作用是用于内存回收,确保系统

问题描述:

通过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的补丁就不会有这种情况了。

解决方案:

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

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

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

延伸 · 阅读

精彩推荐