1、查看cpu stat信息
# 只保留各个cpu的数据
cat /proc/stat | grep ^cpu
cpu 2453170 203 1460328 3860119 28924 42025 6703 0 0 0
cpu0 527903 18 310691 1121769 6235 5608 988 0 0 0
cpu1 249106 103 99329 1562497 8153 20433 2719 0 0 0
cpu2 758720 40 470492 715718 5666 9388 926 0 0 0
cpu3 917439 40 579816 460133 8867 6595 2069 0 0 0
相关指标
- user(通常缩写为 us),代表用户态 CPU 时间。注意,它不包括下面的 nice 时间,但包括了 guest 时间。
- nice(通常缩写为 ni),代表低优先级用户态 CPU 时间,也就是进程的 nice 值被调整为 1-19 之间时的 CPU时间。这里注意,nice 可取值范围是 -20 到 19,数值越大,优先级反而越低。
- system(通常缩写为 sys),代表内核态CPU 时间。
- idle(通常缩写为 id),代表空闲时间。注意,它不包括等待 I/O 的时间(iowait)。
- iowait(通常缩写为wa),代表等待 I/O 的 CPU 时间。irq(通常缩写为 hi),代表处理硬中断的 CPU 时间。
- softirq(通常缩写为si),代表处理软中断的 CPU 时间。
- steal(通常缩写为 st),代表当系统运行在虚拟机中的时候,被其他虚拟机占用的 CPU时间。
- guest(通常缩写为 guest),代表通过虚拟化运行其他操作系统的时间,也就是运行虚拟机的 CPU
时间。 - guest_nice(通常缩写为 gnice),代表以低优先级运行虚拟机的时间。
2、perf
常用参数:
参数设置:
-e:选择性能事件
-i:禁止子任务继承父任务的性能计数器。
-r:重复执行 n 次目标程序,并给出性能指标在n 次执行中的变化范围。
-n:仅输出目标程序的执行时间,而不开启任何性能计数器。
-a:指定全部cpu
-C:指定某个cpu
-A:将给出每个处理器上相应的信息。
-p:指定待分析的进程id
-t:指定待分析的线程id
perf record 性能采样
perf report 展示负载报告