Linux
系统中有许多
命令。今天,萧边主要
介绍监控Linux系统命令。如果你有兴趣监视命令或
学习相关知识,你不妨知道它。
找到最耗时的java
线程的CPU
ps命令
命令:PS MP PID O线,tid,LFP PID或PS
结果
显示:
此命令的主要
功能是收集一些关于线程对应一个
进程的信息。例如,如果你想分析一些
运行瓶颈一个java
程序,可以通过命令找到所有当前线程的CPU时间,这是最后一篇。
例如,我们
发现一个TID:30834,占最高的时间。
通过printf % X30834先
转换为16,通过jstack命令转储继续当前的JVM进程堆栈信息,grep命令,你可以找到相应的16个基地的线程ID信息,你可以很快找到最好的CPU代码快。
在一个简单的解释,这条线在jstack信息:
java代码
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命令
命令:iostat米x 11000
以同样的方式,你可以观察到在相应的CPU %iowait数据。此外,iostat还提供了一些更详细的我/ O状态数据,例如,
avgqu尺码:那发出的请求的平均队列长度是(
磁盘请求队列长度,正常2, 3更好。你可以理解为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需要细粒度的一些特定的工具观察到的状态监测。
以上是linux系统监控命令的介绍。通过这些命令,开发人员可以方便地观察系统的运行状态。这些命令用于系统监视。