Java命令行工具jps,jstat,jmap

2013-02-22

Java命令行几个实用的工具jps,jstat,jmap,列举几个例子。

1、jps列出java进程(类似ps命令)
例1:看java进程对应的参数
jps -lv
例2:杀掉所有的java进程
jps -q |xargs kill -9
(或者pgrep java |xargs kill -9)
例3:只杀掉tomcat
jps -v |grep tomcat|awk '{print $1}'|xargs kill -9
(或者ps -ef| grep tomcat|grep -v grep |awk '{print $2}' | xargs kill -9)
2、jstat用于输出给定java进程的统计信息。
例1:jstat -gc pid
端口2023的jstat
netstat -ntlp|grep 2023 |awk '{print $7}'|awk -F/ '{print $1}' |xargs jstat -gc

jstat -options 可以列出当前JVM版本支持的选项,常见的有
-class (类加载器)
-compiler (JIT)
-gc (GC堆状态)
-gccapacity (各区大小)
-gccause (最近一次GC统计和原因)
-gcnew (新区统计)
-gcnewcapacity (新区大小)
-gcold (老区统计)
-gcoldcapacity (老区大小)
-gcpermcapacity (永久区大小)
-gcutil (GC统计汇总)
-printcompilation (HotSpot编译统计)

3、jmap打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(类似pmap)
jmap -J-d64 -heap pid
jmap -dump:format=b,file=test.bin 4939
jmap -histo 4939

官方文档:
http://docs.oracle.com/javase/6/docs/technotes/tools/share/jps.html
http://docs.oracle.com/javase/6/docs/technotes/tools/share/jstat.html
http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html

分类:Linux操作系统 | 标签: |

相关日志

评论被关闭!