脑图:
查看整机:top
案例:
后台一直运行着这个程序:
top命令查看
结果:
uptime:查看系统性能的精简版
查看CPU:vmstat
us sy 参考值为80%,如果us sy 大于80%,说明可能存在CPU不足。
查看所有的CPU:mpstat -p all 每秒查看的次数
案例:每二秒打印一次
查看进程CPU的情况:pidstat -u 1 -p 进程编号
案例:
查看内存:free
pidstat -p 进程号 -r 采样间隔秒数
查看硬盘:df
df -h以人类的方式查看
查看磁盘IO:lostat -xdk 间隔秒数 次数
案例:查看磁盘io二秒一次,总共三次
pidstat -p 2 -p 5101
查看网络IO:ifstat
下载安装:
查看:
小总结:
CPU占用过高定位分析思路
结合Linux和JDK命令一起使用
使用top命令找出cpu占比最高的
使用ps -ef或者jps进一步定位,得知是怎样的一个后台程序出问题了
定位到具体的线程或者代码
结果:
将需要的线程切换成16位进制的格式(英文小写格式)
第一种:
第二种:(推荐使用)
转成小写就是13ee
jstack 进程ID | grep tid (16进制线程id小写英文)
定位到这个
JavaDemo02.java这个文件的第十行有问题