千锋重庆Java培训学习Java内存监控工具的介绍
2021/11/19 7:15:37
本文主要是介绍千锋重庆Java培训学习Java内存监控工具的介绍,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.JConsole
Jconsole,Java Monitoring and Management Console。
java监控和管理控制台,从java5开始,在JDK中提供。
用于对JVM中内存,线程、类和虚拟机的运行情况等的监控。提供了本地监控和远程监控两种功能。
2.jps
[root@host bin]# ./jps 17515 Standalone 1487 Jps
3.jmap
jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap -histo pid。如果连用 SHELL jmap -histo pid > a.log可以将其保存到文本中去(windows下也可以使用),在一段时间后,使用文本对比工具,可以对比出GC回收了哪些对象。jmap -dump:format=b,file=f1 3024可以将3024进程的内存heap输出出来到f1文件里。
jmap的常用命令:
(1)jmap -finalizerinfo JVM的进程号
这个表示有多少对象正在finalization队列中,等待finalizer thread进行finalizer,对于finalizer的原理
例如:
[root@tomy tomcat] # /usr/java/latest/bin/jmap -finalizerinfo 25757 Attaching to process ID 25757, please wait... Debugger attached successfully. Server compiler detected. JVM version is 14.0-b16 Number of objects pending for finalization: 0
(2)jmap -heap JVM的进程号
打印堆的使用情况,以及GC采用什么垃圾回收器
例如:
[root@labs-dev01 tomcat]# /usr/java/latest/bin/jmap -heap 25757 Attaching to process ID 25757, please wait... Debugger attached successfully. Server compiler detected. JVM version is 14.0-b16 using thread-local object allocation. Parallel GC with 2 thread(s) Heap Configuration: MinHeapFreeRatio = 40 MaxHeapFreeRatio = 70 MaxHeapSize = 402653184 (384.0MB) NewSize = 1048576 (1.0MB) MaxNewSize = 4294901760 (4095.9375MB) OldSize = 4194304 (4.0MB) NewRatio = 8 SurvivorRatio = 8 PermSize = 16777216 (16.0MB) MaxPermSize = 67108864 (64.0MB) Heap Usage: PS Young Generation Eden Space: capacity = 42598400 (40.625MB) used = 21145576 (20.165992736816406MB) free = 21452824 (20.459007263183594MB) 49.63936673677885% used From Space: capacity = 1048576 (1.0MB) used = 652736 (0.62249755859375MB) free = 395840 (0.37750244140625MB) 62.249755859375% used To Space: capacity = 1048576 (1.0MB) used = 0 (0.0MB) free = 1048576 (1.0MB) 0.0% used PS Old Generation capacity = 357957632 (341.375MB) used = 23543768 (22.453086853027344MB) free = 334413864 (318.92191314697266MB) 6.577249902021924% used PS Perm Generation capacity = 24903680 (23.75MB) used = 24817640 (23.667945861816406MB) free = 86040 (0.08205413818359375MB) 99.65450889185855% used
(3)jmap -dump:file= JVM的进程号(java5版本不支持这个参数)
[root@labs-dev01 tomcat]# /usr/java/latest/bin/jmap -dump:file=heap.bin -F 25757 Attaching to process ID 25757, please wait... Debugger attached successfully. Server compiler detected. JVM version is 14.0-b16 Dumping heap to mashup ... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Finding object size using Printezis bits and skipping over... Heap dump file created
[root@tomy tomcat]# /usr/java/latest/bin/jhat heap.bin Reading from heap.bin... Dump file created Wed Apr 14 08:57:06 GMT+00:00 2010 Snapshot read, resolving... Resolving 443412 objects... Chasing references, expect 88 dots........................................................................................ Eliminating duplicate references........................................................................................ Snapshot resolved. Started HTTP server on port 7000 Server is ready.
这篇关于千锋重庆Java培训学习Java内存监控工具的介绍的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南