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

在linux系统下,使用top命令查看cpu使用情况。
%cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
us(user):表示 cpu 在用户运行的时间百分比,通常用户 cpu 高表示有应用程序比较繁忙。典型的用户程序有:数据库、web 服务器等。
sy(sys):表示 cpu 在内核态运行的时间百分比(不包括中断),通常内核态 cpu 越低越好,否则表示系统存在某些瓶颈。
ni(nice):表示用 nice 修正进程优先级的用户进程执行的 cpu 时间。nice 是一个进程优先级的修正值,如果进程通过它修改了优先级,则会单独统计 cpu 开销。
id(idle):表示 cpu 处于空闲态的时间占比,此时,cpu 会执行一个特定的虚拟进程,名为 system idle process。
wa(iowait):表示 cpu 在等待 i/o 操作完成所花费的时间,通常该指标越低越好,否则表示 i/o 存在瓶颈,可以用 iostat 等命令做进一步分析。
hi(hardirq):表示 cpu 处理硬中断所花费的时间。硬中断是由外设硬件(如键盘控制器、硬件传感器等)发出的,需要有中断控制器参与,特点是快速执行。
si(softirq):表示 cpu 处理软中断所花费的时间。软中断是由软件程序(如网络收发、定时调度等)发出的中断信号,特点是延迟执行。
st(steal):表示 cpu 被其他虚拟机占用的时间,仅出现在多虚拟机场景。如果该指标过高,可以检查下宿主机或其他虚拟机是否异常。
排查用户 cpu 使用率高
用户 cpu 使用率反映了应用程序的繁忙程度,通常与我们自己写的代码息息相关。
操作步骤:
1)、通过 top 命令找到 cpu 消耗最多的进程号;
2)、通过 top -hp 进程号命令找到 cpu 消耗最多的线程号(列名仍然为 pid);
3)、通过printf “%x\n” 线程号命令输出该线程号对应的 16 进制数字;
4)、pid进程在内核调用情况。如果是java应用可通过 jstack 进程号 | grep 16进制线程号 -a 10 命令找到 cpu 消耗最多的线程方法堆栈。
是非 java 应用可使用 perf
perf top -p 7574
如果提示perf: command not found,使用yum install perf安装。
perf是linux 2.6+内核中的一个工具,在内核源码包中的位置 tools/perf。
perf利用linux的trace特性,可以用于实时跟踪,统计event计数(perf stat);或者使用采样(perf record),报告(perf report|script|annotate)的使用方式进行诊断。

高精度3D扫描仪助力高压电导电部件焊接钢爪质量检测
“十面霾伏”,ADI专家解读气体监测技术趋势和解决方案
“蛟龙号”领衔 三大深潜器同时入驻国家深海基地
内存市场迎来拐点 第三季度产值达到了154.5亿美元
探析从传统汽车到智能网联汽车的艰苦发展之路
在Linux系统下使用top命令查看CPU使用情况
我们距离智慧城市的全面落地还有多远
超重量级成员 高通加盟AMD异构计算组织
四气两尘空气质量监测站功能特点有哪些
巴航工业下一款推出的新飞机将会是涡桨飞机
从南极到你家,易开得,一支“中国芯”的奇幻漂流
通过BCnet-FX实现GX Works2以太网连接FX3UC
大数据如何以及为什么会迅速变成小数据蔓延
Apriori算法详解
检修盒面板AI视觉检测系统,赋能工业发展!
TOAT-51020+射频衰减器的特性
新视智科廖方诚:建立机器视觉生态链,以机器视觉重构中国制造
只需一个发射器,就能为多部智能设备提供隐形充电?
9针rs232接口定义
电视换屏可能比买新机还贵 还不如买台新的