root 用户 kswapd0 耗用了 CPU 100%!!!2核CPU飙升100%

用户昵称不能为空 2017-06-27 05:46:45
centos7经常报CPU不足,CPU 会突然飙升到 100%。
系统配置:centos7、阿里云ecs、2核心4G内存,存放服务 LNMP。
CPU 100%时候 php-fpm nginx mariadb 都是没有在使用,在 mariadb 中 show processlist 为空。
`free -lh` 内存剩余130MB+

[root@fl ~]#free -lh
total used free shared buff/cache available
Mem: 3.5G 765M 220M 37M 2.5G 2.5G
Low: 3.5G 3.2G 220M
High: 0B 0B 0B
Swap: 0B 0B 0B
[root@fl ~]#





一直找不出为什么所以然,求助


...全文
469 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 4 楼 lgbxyz 的回复:
具体参考下面这篇文章 http://www.cnblogs.com/panfeng412/p/drop-caches-under-linux-system.html
感谢,其实是 MySQL耗资源导致,做了大量优化之后 CPU 峰值低于10%了
  • 打赏
  • 举报
回复
引用 3 楼 lgbxyz 的回复:
echo 1 > /proc/sys/vm/drop_caches
现在没有再CPU 100%了,峰值不超过 60% 了。
LubinLew 2017-06-28
  • 打赏
  • 举报
回复
echo 1 > /proc/sys/vm/drop_caches
  • 打赏
  • 举报
回复
引用 1 楼 lgbxyz 的回复:
http://ju.outofmemory.cn/entry/232824 http://www.nowamagic.net/librarys/veda/detail/2539 kswapd0 是系统的虚拟内存管理程序,如果物理内存不够用,系统就会唤醒 kswapd0 进程, 由 kswapd0 分配磁盘交换空间作缓存,因而占用大量的 CPU 资源。重启nginx,释放内存,问题就会消失。 根本解决方案还是升级物理内存.
root kswapd0 100% CPU 的时候,还是有内存剩余的:

[root@fl ~]#free -lh
              total        used        free      shared  buff/cache   available
Mem:           3.5G        923M        185M         58M        2.4G        2.3G
Low:           3.5G        3.3G        185M
High:            0B          0B          0B
Swap:            0B          0B          0B
[root@fl ~]#
LubinLew 2017-06-28
  • 打赏
  • 举报
回复
http://ju.outofmemory.cn/entry/232824 http://www.nowamagic.net/librarys/veda/detail/2539 kswapd0 是系统的虚拟内存管理程序,如果物理内存不够用,系统就会唤醒 kswapd0 进程, 由 kswapd0 分配磁盘交换空间作缓存,因而占用大量的 CPU 资源。重启nginx,释放内存,问题就会消失。 根本解决方案还是升级物理内存.
LubinLew 2017-06-28
  • 打赏
  • 举报
回复
具体参考下面这篇文章 http://www.cnblogs.com/panfeng412/p/drop-caches-under-linux-system.html

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧