使用jmap看某个id的内存情况时报错,报错信息如下
[root@zkper-sso-01 logs]# jmap -heap 4467 Attaching to process ID 4467, please wait... Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at sun.tools.jmap.JMap.runTool(JMap.java:197) at sun.tools.jmap.JMap.main(JMap.java:128) Caused by: sun.jvm.hotspot.runtime.VMVersionMismatchException: Supported versions are 24.121-b00. Target VM is 24.60-b09 at sun.jvm.hotspot.runtime.VM.checkVMVersion(VM.java:234) at sun.jvm.hotspot.runtime.VM.<init>(VM.java:297) at sun.jvm.hotspot.runtime.VM.initialize(VM.java:368) at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:598) at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:493) at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:331) at sun.jvm.hotspot.tools.Tool.start(Tool.java:163) at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:40) ... 6 more
原因可能是机器上有多个jdk,所以出现版本不一致的情况
正确的使用 方式是:增加jdk路径
[root@zkper-sso-01 logs]# /data/jdk1.7.0_60/bin/jmap -heap 4467
Attaching to process ID 4467, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 24.60-b09
using thread-local object allocation.
Parallel GC with 4 thread(s) //gc线程数
Heap Configuration:
MinHeapFreeRatio = 0
MaxHeapFreeRatio = 100
MaxHeapSize = 2147483648 (2048.0MB) //最大堆内存
NewSize = 1310720 (1.25MB) //新生代
MaxNewSize = 17592186044415 MB //最大新生代内存
OldSize = 5439488 (5.1875MB) //老年区
NewRatio = 2 //新生代与老年代比例
SurvivorRatio = 8 //eden与survivor的比例
PermSize = 21757952 (20.75MB)//永久区
MaxPermSize = 85983232 (82.0MB) //永久区最大内存
G1HeapRegionSize = 0 (0.0MB)
Heap Usage:
PS Young Generation
Eden Space:
capacity = 154664960 (147.5MB)
used = 15303264 (14.594329833984375MB)
free = 139361696 (132.90567016601562MB)
9.894460904396187% used
From Space:
capacity = 12582912 (12.0MB)
used = 655360 (0.625MB)
free = 11927552 (11.375MB)
5.208333333333333% used
To Space:
capacity = 12058624 (11.5MB)
used = 0 (0.0MB)
free = 12058624 (11.5MB)
0.0% used
PS Old Generation
capacity = 358088704 (341.5MB)
used = 25058544 (23.897689819335938MB)
free = 333030160 (317.60231018066406MB)
6.997859390727947% used
PS Perm Generation
capacity = 22020096 (21.0MB)
used = 9592704 (9.1483154296875MB)
free = 12427392 (11.8516845703125MB)
43.563406808035715% used
3796 interned Strings occupying 309472 bytes.
相关推荐
* -heap 生成堆dump文件,包括堆的详细信息 * -histo 生成堆dump文件,包括对象的 histogram 信息 例如:jmap -dump:format=b,file=heapdump 21711 四、jhat jhat 主要用来分析堆dump文件。语法格式如下:jhat ...
JMAP-JS 是 JMAP 邮件,联系人和日历模型的 JavaScript 实现,是 JMAP 的 JavaScript 客户端。 标签:JMAPJS
本文将详细讲解如何使用`jmap`中的`-dump:format=b,file=heapdump.hprof`选项来生成堆栈文件,并利用MAT(Memory Analyzer Tool)进行分析。 首先,`jmap`是Java HotSpot虚拟机的一个命令行工具,它可以提供关于JVM...
npm install -g jmap-server 用法 首先启动服务器: jmap-server 然后,您可以在测试一些请求: curl -d "@examples/mailboxes/setMailboxes.json" -H "Content-Type: application/json" http://127.0.0.1:3000...
jmap-perl 是 JMAP 代理服务器的 Perl 实现,Perl JMAP 后端可以与 IMAP 和 SMTP 服务器通许,允许在邮件系统上替换 JMAP 接口。为了高效,初始化实现要求所有服务器支持 CONDSTORE 扩展(RFC4551/FRC7162)。提供一个...
jmap -heap ``` 这将展示JVM的堆配置,包括eden区、survivor区和老年代的大小,以及垃圾收集器的详细信息。 3. **生成堆内存快照(histogram)**: 使用`-histo[:live]`选项可以生成对象的直方图,其中`live`...
1. **生成堆转储(Heap Dump)**: 使用`jmap -dump`命令,可以在运行时将Java堆的完整状态导出为一个二进制文件,通常以`.hprof`为扩展名。 2. **堆统计信息**: `jmap -histo`可以打印出堆中对象的数量和大小的直方...
Java虚拟机(JVM)调优是提升Java应用程序性能的关键环节。在JVM中,字符串对象的创建尤其值得关注,因为它们频繁出现且消耗大量的时间和内存。JVM为优化性能和节省内存,对字符串实例化采取了一种特殊策略,即字符...
《JVM日志解读——揭示Java虚拟机的秘密》 在Java开发中,JVM(Java Virtual Machine)扮演着至关重要的角色。它负责运行我们的代码,管理内存,执行垃圾收集等。当程序出现异常或者性能问题时,JVM生成的日志文件...
1. **内存模型**:JVM内存分为堆内存(Heap)、方法区(Method Area)、虚拟机栈(JVM Stack)、本地方法栈(Native Method Stack)和程序计数器(PC Register)。其中,堆和方法区是线程共享的,而栈和程序计数器是...
pod 'JMapiOSSDK' , :git => 'https://github.com/Jibestream/JMap-iOS-SDK-Pod.git' 对于首次安装,请运行: pod install 要获取最新版本的Pod,请执行以下操作: pod update 作者 路易(Louie),
3. **GC日志分析**:`jmap -heap <pid>`可以输出JVM的堆配置信息以及垃圾收集的状态。 4. **堆内存统计**:`jmap -finalizerinfo <pid>`可以查看等待Finalizer线程处理的对象,这有时是内存泄漏的一个迹象。 当...
jmap-client-ts 用编写的 Client。 如何使用它 导入项目(在package.json ),您可以引用提交或分支以使用快照版本。 创建客户端 let client = new Client ( { accessToken : 'myToken' , sessionUrl : '...
"Jvm Old区过高排查过程...在这篇文章中,我们探索了Jvm Old区过高的排查过程,了解了Jvm的内存结构和垃圾回收机制,并使用jstat、jmap和jvisualvm工具来分析Jvm的内存情况,最后发现了Jvm Old区过高的原因和解决方案。
jmap -heap pid可以查看应用程序堆的信息jstat可以打印元空间信息MC :分配到元空间大小MU:已使用的元空间大小 元空间是可以自己扩容的元空间:
在Linux环境下,可以使用`jmap -heap:format=b pid`命令导出指定进程(pid)的堆内存快照,该快照通常为二进制格式(binary format)。 2. **使用IBM HeapAnalyzer进行分析** - **生成heap dump文件**:首先,你...
例如,`jmap -heap [进程ID]` 可以显示堆内存的详细信息,包括eden区、survivor区和old区的使用情况。`jmap -histo [进程ID]` 可以按类型统计对象数量和占用的空间,有助于发现潜在的内存泄漏问题。此外,`jmap -...
* 查看 Java 进程的 heap 内存使用情况:jmap -heap * 生成 Java 进程的内存快照:jmap -dump:format=b,file=<filename>.hprof * 查看 Java 进程的栈信息:jstack -l 五、其它命令 最后,以下是一些其它常用的...