uptime : 精简版top

top查看Linux进程 ,
其中load average后的3个值,分别代表系统1分钟,5分钟,15分钟的平均负载值,3个数字平均值大于60%,系统负担压力高

不停按1会出现:

vmstat -n 2 3: 每2秒采样一次共计采样3次,;查看CPU(包含不限于)


mpstat -P ALL 2查看所有cpu核信息,每2秒采样一次

ps -ef|grep java

podstat -u 1 -p 进程号每秒采样一次,每个进程使用cpu的用量分解信息,

=========================
free -m查看系统内存

pidstat -p 进程号 -r采样间隔秒 查看单个进程占用内存

CPU占用高,怎么分析和定位,
1.用top找出CPU占比最高的
2.ps -ef或者jps进一步定位
3.定位到具体线程或代码 ps -mp 进程 -o THREAD,tid,time

4.printf"%x\n" 有问题的线程ID 将需要的线程ID转换为16进制格式(小写英文),用window计数器也可以
5.jstack 进程ID | grep tid(16进制线程ID小写英文)

3.

5.


上图可知是第10行代码出错
本文介绍了如何使用Linux命令如top、vmstat、mpstat、pidstat等来监控系统性能,特别是CPU负载和内存占用。当平均负载值超过60%时,系统可能存在压力。通过ps和jstack命令定位高CPU占用进程及线程,分析问题并提供了解决思路,包括线程ID的16进制转换和Java堆栈跟踪。
7057





