JVM 监控管理自带工具(未完)

         自从接触JAVA后,一直有这个内存溢出或内存泄漏,但是一直没有总结,对这类的问题,参考了别人的经验,梳理一下知识。

 



 

 

 

监控和管理工具

1、jconsole Java的监测和管理控制台- JMX兼容Java虚拟机监控图形工具。它可以监控本地和远程JVM。

      

jconsole [ options ] [ pid | [ host:port ]]
options 
     -interval=n  更新时间间隔 (默认4S)
     …… 

2、jps(jps - Java Virtual Machine Process Status Tool)虚拟机进程状况工具

      JPS工具列出了Java虚拟机对目标系统。该工具是有限的信息在JVM具有访问权限。

     如果JPS运行在没有指定服务器,它会寻找JVM在本地主机。如果开始一个服务器,它会寻找在所指向的主机的JVM,使用指定的协议和端口。一个jstatd过程被认为是在目标主机上运行。

     JPS命令将报告本地虚拟机标识符或lvmid,每个JVM在目标系统上发现的的lvmid通常是,但不一定,JVM进程标识符用于操作系统的过程。没有选择,会列出每个Java应用的JPS lvmid其次是应用程序的类的名称或JAR文件的名字的缩写形式。类的名称或JAR文件的名字的缩写形式,忽略了类的封装信息或JAR文件的路径信息。

    JPS命令使用Java发射器找到类名和参数传递的主要方法。如果目标JVM启动一个自定义的发射器,类的名称(或JAR文件名)和主要方法的参数将不可用。在这种情况下,JPS命令将输出字符串未知的类名称或JAR文件名为主要方法的参数。

  

     由JPS命令生成JVM的列表可由授予主体运行命令的权限有限。该命令将只列出JVM的原理具有访问权限的操作系统特定的访问控制机制。

 

jps [ options ] [ hostid ]

-q 忽略输出的类名。只输出pid。

-m 输出传递给main方法的参数,如果是内嵌的JVM则输出为null。

-l 输出应用程序主类的完整包名,或者是应用程序JAR文件的完整路径。
-v 输出传给JVM的参数。
-V 输出通过标记的文件传递给JVM的参数
(.hotspotrc文件,或者是通过参数-XX:Flags=<filename>指定的文件。
-J 用于传递jvm项到由javac调用的java加载器中,例如,“-J-Xms48m”将把启动内存设置为48M,使用-J项可以非常方便的向基于Java的开发的底层虚拟机应用程序传递参数。

 

[protocol:][[//]hostname][:port][/servername]

 

 

 

3、jstat(JVM jstat Daemon)虚拟机统计信息监视工具(重要)

 

 

 

 官网里面 如:
Option Displays...
class                             Statistics on the behavior of the class loader.
compiler                        Statistics of the behavior of the HotSpot Just-in-Time compiler.
gc                                  Statistics of the behavior of the garbage collected heap.
gccapacity                     Statistics of the capacities of the generations and their corresponding spaces.
gccause                         Summary of garbage collection statistics (same as -gcutil), with the cause of the last and current (if applicable) garbage collection events.
gcnew                            Statistics of the behavior of the new generation.
gcnewcapacity               Statistics of the sizes of the new generations and its corresponding spaces.
gcold                              Statistics of the behavior of the old and permanent generations.
gcoldcapacity                 Statistics of the sizes of the old generation.
gcpermcapacity              Statistics of the sizes of the permanent generation.
gcutil                              Summary of garbage collection statistics.
printcompilation              HotSpot compilation method statistics.

 

 

 

故障排除工具

 

1、jinfo(Configuration Info for Java)Java配置信息工具

       配置信息的Java打印配置信息对于一个给定的过程或核心文件或远程调试服务器。

2、jmap(Memory Map for Java)Java内存映像工具

      对于Java内存地图打印共享对象的内存映射的过程或核心文件或远程调试服务器或堆内存的详细信息。
     jmap当前不可用在Windows平台上Linux Itanium平台。

 
1)利用Jinfo获取该 pid
2) jmap -dump:format=b,file=heap.bin <pid>
把该文件保存到本地,
3)使用MAT分析工具
定位到异常的位置,分析源码。

 

 

 

3、jhat:虚拟机堆转储快照分析工具


4、jstack(Stack Trace for Java)Java堆栈跟踪工具

         堆栈跟踪Java -打印一个线程堆栈跟踪一个给定的过程或核心文件或远程调试服务器。
HSDIS:JIT生成代码反汇编

 

 

 集成工具
         VisualVM:多合一故障处理工具

         Memory Analyzer Tool:内存分析(内存溢出,OOM)

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值