参考:
http://yangle20081982.blog.163.com/blog/static/179610073201232391148631/
http://www.blogjava.net/sean/archive/2011/01/27/343620.html
http://lsmvictor.blog.163.com/blog/static/1851519320120733440451/
1 jps
- 作用:列出本机所有java进程的pid
- 用法:jps [ options ] [ hostid ]
- [options]:
- -q :仅输出VM标识符,不包括class name,jar name,arguments in main method
- -m 输出main method的参数
- -l 输出完全的包名,应用主类名,jar的完全路径名
- -v 输出jvm参数
- -V 输出通过flag文件传递到JVM中的参数(.hotspotrc文件或-XX:Flags=所指定的文件
- -Joption 传递参数到vm,例如:-J-Xms48m
- hostid: [protocol:][[//]hostname][:port][/servername]
- 样例: jps -lv 10.9.18.110(目标主机要启动jstatd)
2 jstat
- 作用:用于输出给定java进程的统计信息
- 用法:jstat -options
- [options]:
- -class (类加载器)
- -compiler (JIT)
- -gc (GC堆状态)
- -gccapacity (各区大小)
- -gccause (最近一次GC统计和原因)
- -gcnew (新区统计)
- -gcnewcapacity (新区大小)
- -gcold (老区统计)
- -gcoldcapacity (老区大小)
- -gcpermcapacity (永久区大小)
- -gcutil (GC统计汇总)
- -printcompilation (HotSpot编译统计)
- 样例: jstat -gcutil -t 12345 200 300 每200毫秒连续打印300次带有时间戳的GC统计信息
3 jstatd
- 作用:启动jvm监控服务。它是一个基于rmi的应用,向远程机器提供本机jvm应用程序的信息。默认端口1099
- 用法:jstat -options
- [options]:
- -nr 当一个存在的RMI Registry没有找到时,不尝试创建一个内部的RMI Registry
- -p port 端口号,默认为1099
- -n rminame 默认为JStatRemoteHost;如果多个jstatd服务开始在同一台主机上,rminame唯一确定一个jstatd服务
- -J jvm选项
- 样例: 出错:java.security.AccessControlException: access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)