linux系统监视命令的常规排序
找到最CPU消耗的java线程ps命令
命令:PS MP PID O线,tid,LFP PID或PS
结果表明:
此命令的主要功能是收集一些关于线程对应一个进程的信息。例如,如果你想分析一些运行瓶颈一个java程序,可以通过命令找到所有当前线程的CPU时间,这是最后一篇。
例如,我们发现:30834、TID时取最高的时间。
通过输出% X30834先转换为16,通过jstack命令转储继续当前的JVM进程堆栈信息,grep命令,你可以找到相应的16个基地的线程ID信息,你可以很快找到最好的CPU代码快。
在一个简单的解释,这条线在jstack信息:
dboserviceprocessor-4-thread-295守护进程优先= 10 TID = 0x00002aab047a9800 NID = 0x7d9b等条件0x0000000046f66000 } {
标识:相应的Linux操作系统下的TID是先前转换的16位数字。
TID:,这应该是在JVM的内存地址的JMM规范只。如果详细分析JVM的内存数据,我还没有达到这个级别,所以我先把它放下来。
上面的命令
命令:高级PID
结果表明:
利用前面的效果,您可以实时跟踪并获取指定进程中的CPU占用线程。
判断I/O瓶颈
mpstat命令
mpstat命令:P 11000
结果表明:
走在这%iowait列注,和CPU等待由我/ O操作所花费的时间。这个值仍然很高,通常可以由我/ O瓶颈。
通过这个参数,可以更直观地了解当前I/O操作是否存在瓶颈。
Iostat command
命令:iostat米x 11000
同样的,你可以看看在相应的CPU %iowait数据,除此之外,iostat提供一些更详细的我/ O状态数据,如更重要:
avgqu尺码:那发出请求的平均队列长度(磁盘请求队列长度,正常的话更好。你可以理解为CPU的负载相同)
等待:发出的I/O请求的平均时间(以毫秒为单位)
两svctm %利用代表我处理的I/O请求和CPU的时间比时间。判断瓶颈的时候,这两个参数是不是主要的。
R / S W / S和人民币/ s / s和一些州代表我/ O的现行制度,前者是我们常说的TPS,后者是吞吐量。这也是一个评价系统的性能指标
PID指令
指挥:pidstat -p PID U·D·T·W·H 11000
结果表明:
一个很实用的命令可以基于过程分析了相应的性能数据,包括CPU,我 / O,IR,CS,等等,可以方便开发者观察系统的运行状态更精细。但pidstat似乎更多一些的2.6内核的新版本,和你需要安装提示sysstat包。
在Ubuntu系统中,你可以安装它通过sudo apt-get install SYSSTAT。
sar命令
命令:SAR - X PID 11000
SAR也可以指定相应的PID参数,以固定的数量,不pidstat强大。你不能看到相应的我/ O、IR等信息。
SAR的功能可以覆盖mpstat和iostat功能。
dstat命令
命令:dstat - Y - TCP 11000
dstat,TCP可以看到当前的TCP的各种状态,更方便,不需要每次看到netstat NAT。
其他命令
回答:看看通过相应的网络链接,在recv-q,send-q焦点状态。
lsof -p PID:对于相应的PID找到文件句柄
lsof-我:80:找出哪些过程是通过相应的端口占用
lsof / / 1.txt TMP:找出哪些过程是由相应的文件占用
tcpdump / Wireshark嗅探:
一系列的java监控命令,如jstat / / / jstack jmap JPS,等等
最后
如果你想做一些性能优化工作,你要善于利用一些工具要注意相应的状态。通过Linux命令,你可以很容易地观察到一些周边国家,如CPU,我 / O、网络等等,你可以解决很多问题的时间。一些运行在JVM需要细粒度的一些特定的工具观察到的状态监测。