首页 > 编程知识 正文

玩游戏cpu占用过高,游戏服务器cpu占用过高

时间:2023-05-03 19:45:06 阅读:194325 作者:120

kswapd0进程

它是虚拟内存管理中,负责换页的,操作系统每过一定时间就会唤醒kswapd ,看看内存是否紧张,如果不紧张,则睡眠,在 kswapd 中,有2个阀值,pages_hige 和 pages_low,当空闲内存页的数量低于 pages_low 的时候,kswapd进程就会扫描内存并且每次释放出32 个free pages,直到 free page 的数量到达pages_high。通过阻止kswapd0进程过渡活跃地消耗CPU的方法是设置大页内存。

这个进程经常出现,导致我的脚本出错。暴力解决:

1.shell脚本

#!/jzdhl/shwhile truedo sleep 10 #循环查看占用cpu超过80%的进程ID /jzdhl/ps axf -o "pid %cpu" | awk '{if($2>=80) print $1}' | while read procid do #进程详细信息 pro=$(ps -A|grep "\<$procid\>" |sort -k3,3|head -n1) #获取进程运行的时间,如果大于15秒,设time为1,如若不是则设time为0 time="$(echo $pro|awk '{ split($3,tab,/:/); if (tab[3]>=15) {print 1}else{print 0} }')" #如果time1,则kill掉该进程 if [ $time = '1' ];then kill -9 $procid fi donedone

2.后台运行

nohup 脚本 > /var/log/CPU_cheack.log 2>&1 & 注意:脚本格式非dos,否则会报错 $'r':command not found。 解决方式: 1.sed -i 's/r//' 脚本名 2.yum -y install dos2unix dos2unix 脚本名 注意:脚本格式非dos,否则会报错 $'r':command not found。 解决方式: 1.sed -i 's/r//' 脚本名 2.yum -y install dos2unix dos2unix 脚本名

3.过几天发现还是不行!

top #查看进程信息按C 查看进程所在文件

参照腾讯云告警文件截图:

rm -rf /tmp/.X25-unix/*su 进程所在的用户crontab -l #删除挖矿脚本

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。