JVM常用监控工具

参考:

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)

4 jvisualm

相关文章
相关标签/搜索