聊聊Linux性能优化那些事二(CPU使用率达到100%、为什么CPU很高却查不到是哪个应用)

本文探讨了Linux系统中CPU使用率达到100%或系统整体CPU使用率高但找不到原因的问题。介绍了如何使用top、ps、pidstat、perf等工具进行性能分析,特别强调了在某些情况下,短时进程可能造成CPU使用率异常,建议使用execsnoop进行监控和排查。通过实例分析展示了如何定位和解决CPU性能问题。
摘要由CSDN通过智能技术生成

某个应用的CPU使用率达到100%,该怎么办?

     一般用来描述系统的CPU性能指标:平均负载、CPU上下文切换还有CPU使用率

 CPU使用率

     Linux作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给每个任务使用,因此造成多任务同时运行的错觉。

    Linux通过/proc虚拟文件系统,向用户提供了系统内部状态的信息。 比如 /proc/stat 提供了系统的CPU和任务统计信息

 有需要的时候,查询man proc就可以清楚每一列的涵义,她们都是CPU使用率相关重要指标

CPU使用率就是除了空闲时间之外的其他时间占总CPU时间的百分比

      事实上,为了计算CPU使用率,性能工具一般都会取间隔一段时间(比如3s)的两次值,作差后,再计算出这段时间内的平均CPU使用率,而直接使用/proc/stat的数据一般都是开机以来的累加值然后的平均CPU使用率,一般没有什么参考价值

      性能分析工具给出的都是间隔一段时间的平均CPU使用率,所以要注意间隔时间的设置,比如 top和ps这两个工具报告CPU使用率,默认的结果很可能不一样,因为top默认是3s间隔时间,而ps是用的确实进程的整个生命周期。

 

怎么查看CPU使用率

  top和ps是常用的性能分析工具,top显示了系统总体的CPU和内存使用情况,以及各个进程的资源使用情况ps则只显示了每个进程的资源使用情况

   

第三行 %Cpu就是系统的CPU使用率,只是把CPU时间变化成了CPU使用率,不过top默认显示是所有CPU的平均值,这个时候需要按数字1,就可以切换每个CPU使用率

 空白行之后是每个进程的实时信息,每个进程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值