查看整机信息:top命令+uptime命令
查看CPU:vmstat
每2秒采样一次 一共采样3次
procs进程信息:
cpu信息:
查看所有CPU核的信息:mpstat -P ALL 【多少秒采样一次】
查看每个进程使用的CPU的用量信息:pidstat -u 【多少秒采样一次】 -p 【进程号】
ps -ef|grep java 查看java进程的进程号
查看系统的内存:free -g / free -m / free (-单位)
查看进程内存额外信息:pidstat -p 【进程号】 -r 【采样间隔时间】
查看磁盘剩余空间数:df / df -h(换算后的结果)
磁盘性能评估:iostat -xdk 2 3 (2秒采样一次 共采样3次)
rkB/s 每秒读取数据量kB
wkB/s 每秒写入数据量kB
svctm:IO请求的平均服务时间 单位ms
await:IO请求的平均等待时间 单位ms 值越小性能越好
util:一秒钟有百分之几的时间用于IO操作,接近100%时,磁盘带宽跑满,需要优化程序或增加磁盘。
如果读写的数据量长期比较大,一定不正常,需要优化程序的读取。svctm的值和await的值很接近,表示几乎没有IO等待,磁盘性能较好。如果await的值远高于svctm,则表示IO队列等待时间太长,需要优化程序或更换磁盘。
默认本地没有,下载ifstat
命令:ps -ef|grep java|grep -v grep找到进程
命令:ps -mp 进程编号 -o THREAD,tid,time
参数:
找到进程5556中的线程5557,5557的十六进制15b5
命令:jstack 线程号 | grep tid(16进制线程号) -A60
-A60 打印出前60行
定位到Demo1.java程序中有问题的行号是6
原文:https://www.cnblogs.com/xdcat/p/13062640.html