pidstat
细致观察进程
需要安装
sudo apt-get install sysstat
监控CPU
监控IO
监控内存
jps
列出java进程,类似于ps命令
参数-q可以指定jps只输出进程ID ,不输出类的短名称
参数-m可以用于输出传递给Java进程(主函数)的参数
参数-l可以用于输出主函数的完整路径
参数-v可以显示传递给JVM的参数
jps -m -l -v
6992 sun.tools.jps.Jps -m -l -v -Denv.class.path=.;D:\tools\jdk6.0\lib\dt.jar;D:
\tools\jdk6.0\lib\tools.jar;D:\tools\jdk6.0\lib -Dapplication.home=D:\tools\jdk6
.0 -Xms8m
7988 net.sourceforge.squirrel_sql.client.Main --log-config-file D:\tools\squirre
l-sql-3.2.1\log4j.properties --squirrel-home D:\tools\squirrel-sql-3.2.1 -Xmx256
m -Dsun.java2d.noddraw=true
jinfo
可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数
-flag <name>:打印指定JVM的参数值
-flag [+|-]<name>:设置指定JVM参数的布尔值
-flag <name>=<value>:设置指定JVM参数的值
运行时修改参数,控制是否输出GC日志
jinfo -flag PrintGCDetails 2972
-XX:-PrintGCDetails
jinfo -flag +PrintGCDetails 2972
jinfo -flag PrintGCDetails 2972
-XX:+PrintGCDetails
jmap
生成Java应用程序的堆快照和对象的统计信息
jmap -histo 2972 >c:\s.txt
num #instances #bytes class name
----------------------------------------------
1: 4983 6057848 [I
2: 20929 2473080 <constMethodKlass>
……………….
1932: 1 8 sun.java2d.pipe.AlphaColorPipe
1933: 1 8 sun.reflect.GeneratedMethodAccessor64
Total 230478 22043360
Dump堆
jmap -dump:format=b,file=c:\heap.hprof 2972
Dumping head to c:\heap.hprof ...
Head dump file created
jstack
打印线程dump
-l 打印锁信息
-m 打印java和native的帧信息
-F 强制dump,当jstack没有响应时使用
jstack 120 >>C:\a.txt
JConsole
图形化监控工具
可以查看Java应用程序的运行概况,监控堆信息、永久区使用情况、类加载情况等
Visual VM
Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具