Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈
Posted qccz123456
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈相关的知识,希望对你有一定的参考价值。
CPU性能指标
??
??(1)CPU使用率:1) 用户态CPU使用率(包括用户态 user 和低优先级用户态 nice)、2) 系统CPU使用率、3) 等待 I/O 的CPU使用率、4) 软中断和硬中断的CPU使用率、5) 虚拟机占用的CPU使用率。
??(2)平均负载 Load Average:过去 1 分钟、过去 5 分钟和过去 15 分钟的平均负载
??(3)进程上下文切换:1) 无法获取资源而导致的自愿上下文切换;2) 被系统强制调度导致的非自愿上下文切换。
??(4)CPU缓存命中率:因为CPU处理速度比内存访问速度快得多,则需要等待内存的响应。为了协调两者性能差距,出现了CPU的多级缓存。如下图所示,L1、L2属于单核,L3用在多核中,缓存大小依次增大、性能依次降低。缓存命中率,衡量的是CPU缓存的复用情况,命中率越高、复用越多,性能越好。
??
??
性能工具
??(1)平均负载案例: 1) uptime 查看了系统的平均负载,2) mpstat 和 pidstat 分别观察了每个 CPU 和每个进程 CPU 的使用情况。
??(2)上下文切换的案例:1)vmstat 查看系统的上下文切换次数和中断次数;2)pidstat 观察进程的自愿上下文切换和非自愿上下文切换情况;3)pidstat 观察线程的上下文切换情况。
??(3)进程CPU使用率升高案例:1)top 查看系统和进程的 CPU 使用情况,2) perf top 观察具体进程。
??(4)系统CPU使用率升高案例:1)top、pidstat 观察系统 CPU 升高,2)perf record 和 perf report 、execsnoop。
??(5)不可中断进程和僵尸进程案例:1)top 观察 iowait、不可中断进程和僵尸进程;2)dstat 发现磁盘问题;3)pidstat 找出相关进程;4)strace、perf 分析进程调用链。
??(6)软中断案例:1)top 观察系统的软中断 CPU 使用率;2)查看 /proc/softirqs 找到了几种变化速率较快的软中断;3)sar 发现是网络小包的问题,4)tcpdump 找出网络帧的类型和来源。
??记忆CPU性能指标与哪些工具有关:
??
??记忆某工具对于哪些性能指标:
??
??
快速定位CPU性能瓶颈
??Step 1:先通过 top、vmstat 和 pidstat 大致定位;
??Step 2:而后具体分析。
??
??
??
??
??
??
以上是关于Linux性能优化从入门到实战:06 CPU篇:快速定位CPU瓶颈的主要内容,如果未能解决你的问题,请参考以下文章
Linux性能优化从入门到实战:07 CPU篇:CPU性能优化方法
Linux性能优化从入门到实战:04 CPU篇:CPU使用率