Linux系统CPU持续飙高,如何排查

若一台服务器CPU使用率持续处于一个高峰值,可能导致如:无法ssh链接、操作卡顿、用户访问超时等问题

1.查看CPU使用情况

  • top命令常用于分析内存指标使用情况

  • htop命令更直观于top

当CPU达到70%-80%以上时,使用率已过高需要处理

2.找出CPU占用高的内存

3.进一步分析进程,什么原因导致的CPU使用率高

perf top -p PID

perf是一个比较强大的系统性能分析工具,分析进程中有哪些系统调用、哪些模块占用、CPU分配情况

后续可将内存占用大的提供给开发端进行处理

若进程为多线程时,可进一步分析线程,了解活动状态可使用top -H

4.解决办法

  • 情况一:

        应用程序访问较少,CPU占用率较高,可能原因是应用程序自身bug(例如:死锁没有及时释放,无法继续执行;存在无限循环,未正常退出)

        其中内存型应用程序(例如java,初始值及限制值较小,会导致产生大量的GC)

  • 情况二:

        应用程序访问量大,处理每一个请求都会申请CPU资源,导致占用率较高,需要增加服务器硬件配置,或者组建服务器集群

  • 7
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值