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里面。

原文地址:https://www.cnblogs.com/baker95935/p/12641551.html

时间: 2024-10-10 20:51:17

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

Linux下java进程CPU占用率高分析方法

Linux下java进程CPU占用率高分析方法 在工作当中,肯定会遇到由代码所导致的高CPU耗用以及内存溢出的情况.这种情况发生时,我们怎么去找出原因并解决. 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1. 通过top命令找到可疑进程PID top - 09:37:18 up 70 days, 16:29, 2 users, load average: 1.13, 1.04, 0.97 Tasks: 105 total, 1 running

Linux下java进程CPU占用率高-分析方法

今天登陆同事的一台gateway 开始以为hive环境登陆不了了,仔细一看看了下是因为机器很卡,我每次等几秒没登陆就ctrl+c了,看了下是有个java进程cpu:340.4%  mem:14.6% 一般解决方法是通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用 1. 通过top命令找到可疑进程PID top 一下 可以看出java进程CPU利用率一直保持100%,稳居不下,找到PID 24138 2. 找出消耗资源最高的线程 top -H -p  29580 

Linux下分析某个进程CPU占用率高的原因

  Linux下分析某个进程CPU占用率高的原因 通过top命令找出消耗资源高的线程id,利用strace命令查看该线程所有系统调用  1.top 查到占用cpu高的进程pid 2.查看该pid的线程:top -H -p 9532 3.查看这个线程所有系统调用:strace -p 10017 不停循环输出Connection timed out,让开发查看问题 原文地址:https://www.cnblogs.com/chenjw-note/p/8370679.html

抓 TOP SQL 解决CPU利用率过高问题

--模拟CPU利用率过高的情况: SQL> select count(*) from  T_LTE_CARD_INFO ; COUNT(*) ---------- 3516598 SQL> select * from  T_LTE_CARD_INFO ; [[email protected] ~]$ top top - 11:10:20 up 19:31,  3 users,  load average: 0.17, 0.23, 0.14 Tasks: 187 total,   3 runni

关于CentOS 6下Hadoop占用系统态CPU高的处理办法【转】

一次不经意发现Hadoop的系统态CPU使用率很高,然后百度一下居然是个已知问题. RHEL6优化了内存申请的效率,而且在某些场景下对KVM的性能有明显提升:http://www.Linux-kvm.org/wiki/images/9/9e/2010-forum-thp.pdf. 而Hadoop是个高密集型内存运算系统,这个改动似乎给它带来了副作用.理论上运算型Java程序应该更多的使用用户态CPU才对,Cloudera官方也推荐关闭THP.于是参考一些文章作了调整: # for hadoop

记一次java应用cpu利用率过高调试经历

1,现象 写的一个storm应用,主要是通过mysql的binlog来同步表到hbase.运行一段时间后发现,经常会出现cpu使用率飙升到200%以上,然后各种消息堆积报警等等出现各种问题 2,调研过程 cpu使用率很高,所以首先找到该进程,通过top命令,监控该进程的使用率,然后通过H,查看各个线程的cpu使用率情况,记下cpu使用率高的线程id,然后通过jstack pid,获取各个线程栈,听过top获取的线程id转化成16进制后,发现有问题的线程栈如下: 发现主要问题原来出现在HashMa

HUAWEI QUIDWAY NE20-8路由器CPU利用率过高

<NE20>dis cpu-usage CPU Usage Stat. Cycle: 42 (Second) CPU Usage            : 85% Max: 100% CPU Usage Stat. Time : 2020-03-31  12:12:31 CPU Usage Stat. Tick : 0x11a45(CPU Tick High) 0x58acedd4(CPU Tick Low) Actual Stat. Cycle   : 0x0(CPU Tick High)

cidaemon.exe进程cpu占用率高及关闭cidaemon.exe进程方法

问题描写叙述: 这段时间机器总是出现一个奇怪的问题:cidaemon.exe进程占用CUP率98%以上,大大影响了电脑的正常使用.资源管理器中出现多个cidaemon.exe进程,强制结束占用cpu率最高的一个,两分钟左右后,相同的问题还是出现了. 问题关联: cidaemon.exe相关知识:cidaemon - cidaemon.exe - 进程信息进程文件: cidaemon or cidaemon.exe进程名称: Microsoft Indexing Service描写叙述: 在后台执

【经验之谈】mysql占用CPU利用率过高的问题

前段时间Zabbix上出现自告警,报Escalators进程压力过大,增大Escalators参数,等改到80-90才不告警了,就觉得不对劲. 到设备上top一下发现mysql把95%上的CPU都吃掉了 上mysql去show processlist; 发现有大量sleep进程,show status like 'Thread%':看到连接数只有138. 修改my.cnf文件,将max_connections降低到300, 发现没有改善,百度到可能是全局读写timeout时间没有优化的问题 修改