Linux性能监控
pidstat [ 选项 ] [ <时间间隔> ] [ <次数> ]
pidstat 主要用于监控全部或指定进程占用系统资源的情况
全局(CPU、内存、磁盘)
1
top / uptime
CPU
1
2
3vmstat -n 2 3 (延迟2秒共采样3次)
mpstat -P ALL 2
pidstat -u 1 -p xxxx内存
1
2free -m
pidstat -r 采样间隔秒数 -p xxxx磁盘
1
df -h
磁盘IO
1
2iostat -xdk 2 3
pidstat -d -p xxxx网络IO
1
ifstat
JVM排错
ps 命令用于监测进程的工作情况
top命令找cpu占比最高的(java)
ps -ef / jps -l 进一步定位
定位到具体线程或者代码
1
2
3
4
5ps -mp 进程 -o THREAD,tid,time
-m : 显示所有线程
-p : pid 进程使用cpu的时间
-o : 自定义格式线程ID转16进制(英文小写)
1
printf "%x\n" xxxxxx
查看错误具体位置
1
2jstack 进程ID | grep tid -A 60
tid 为第4步骤转换的16进制 线程号