虚拟机性能监控故障处理工具

前言:基于java bin目录中的各种工具,这些工具在内存分析、故障排查中发挥重要作用,下面逐一介绍。


JPS:JVM process status Tool 虚拟机进程状况工具,功能是列举出正在运行的虚拟机进程,并显示虚拟机执行主类(-l 命令)以及进程的本地虚拟机唯一ID,是使用频率最高的命令


JSTAT:JVM statistics monitor tool 虚拟机统计信息监控工具,用于显示本地或者远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据,jstat -gcold 34 200 10 意思是监控进程id为34的应用程序的老年代垃圾收集情况,每隔200毫秒输出一次,共计输出10次


Jinfo: java 配置信息根据,虽然可以用jps -v 查看显示制定的参数,这个能看到更多JVM的参数配置细节。


jmap:java内存映像工具 。不仅可以获取堆转储快照,而且可以查询finalize执行队列,java 堆和方法区的详细信息,如空间使用率、当前使用的是哪种收集器等。还可以查看内存直方图

jmap -histo 34|head -20

jmap -heap 34 jvm堆的详细信息

jmap -dump 生成dump文件

jmap -heap 34

Attaching to process ID 34, please wait...

Debugger attached successfully.

Server compiler detected.

JVM version is 25.301-b09



using thread-local object allocation.

Garbage-First (G1) GC with 1 thread(s)



Heap Configuration:

   MinHeapFreeRatio         = 40

   MaxHeapFreeRatio         = 70

   MaxHeapSize              = 2147483648 (2048.0MB)

   NewSize                  = 1363144 (1.2999954223632812MB)

   MaxNewSize               = 1287651328 (1228.0MB)

   OldSize                  = 5452592 (5.1999969482421875MB)

   NewRatio                 = 2

   SurvivorRatio            = 8

   MetaspaceSize            = 21807104 (20.796875MB)

   CompressedClassSpaceSize = 1073741824 (1024.0MB)

   MaxMetaspaceSize         = 17592186044415 MB

   G1HeapRegionSize         = 1048576 (1.0MB)



Heap Usage:

G1 Heap:

   regions  = 2048

   capacity = 2147483648 (2048.0MB)

   used     = 1190941168 (1135.770004272461MB)

   free     = 956542480 (912.2299957275391MB)

   55.45751973986626% used

G1 Young Generation:

Eden Space:

   regions  = 959

   capacity = 1348468736 (1286.0MB)

   used     = 1005584384 (959.0MB)

   free     = 342884352 (327.0MB)

   74.57231726283048% used

Survivor Space:

   regions  = 4

   capacity = 4194304 (4.0MB)

   used     = 4194304 (4.0MB)

   free     = 0 (0.0MB)

   100.0% used

G1 Old Generation:

   regions  = 173

   capacity = 794820608 (758.0MB)

   used     = 181162480 (172.77000427246094MB)

   free     = 613658128 (585.2299957275391MB)

   22.79287655309511% used



64826 interned Strings occupying 7221464 bytes.

jhat 分析dump文件,默认http端口7000,不建议用。


jstack java堆栈跟踪工具

jstack 用于生成当前时刻虚拟机的线程快照,一般叫做threaddump或者javacore文件,生成线程快照的目的通常是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间挂起等。从jdk5起,Thread 类新增一个getAllStackTraces()方法用于获取所有线程的StackTraceElement对象。笔者建议使用这个做个管理员页面,方便随时使用浏览器查看当前的线程堆栈信息。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值