si(softirq):表示 CPU 处理软中断所花费的时间。软中断是由软件程序(如网络收发、定时调度等)发出的中断信号,特点是延迟执行。

st(steal):表示 CPU 被其他虚拟机占用的时间,仅出现在多虚拟机场景。如果该指标过高,可以检查下宿主机或其他虚拟机是否异常。

排查用户 CPU 使用率高

用户 CPU 使用率反映了应用程序的繁忙程度,通常与我们自己写的代码息息相关。

操作步骤:

1)、通过 top 命令找到 CPU 消耗最多的进程号;

Linux下CPU使用率过高的排查方法

2)、通过 top -Hp 进程号命令找到 CPU 消耗最多的线程号(列名仍然为 PID);

在Linux系统下使用top命令查看CPU使用情况

3)、通过printf “%x\n” 线程号命令输出该线程号对应的 16 进制数字;

在Linux系统下使用top命令查看CPU使用情况

4)、PID进程在内核调用情况。如果是Java应用可通过 jstack 进程号 | grep 16进制线程号 -A 10 命令找到 CPU 消耗最多的线程方法堆栈。

是非 Java 应用可使用 perf

perf top -p 7574

如果提示perf: command not found,使用yum install perf安装。

在Linux系统下使用top命令查看CPU使用情况

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查