`

jmap -heap 报错

    博客分类:
  • jvm
 
阅读更多

使用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.

 

分享到:
评论

相关推荐

    JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解.docx

    * -heap 生成堆dump文件,包括堆的详细信息 * -histo 生成堆dump文件,包括对象的 histogram 信息 例如:jmap -dump:format=b,file=heapdump 21711 四、jhat jhat 主要用来分析堆dump文件。语法格式如下:jhat ...

    JMAP的JavaScript客户端JMAP-JS.zip

    JMAP-JS 是 JMAP 邮件,联系人和日历模型的 JavaScript 实现,是 JMAP 的 JavaScript 客户端。 标签:JMAPJS

    jmap -dump:format=b,file=heapdump.hprof Pid堆栈文件分析工具

    本文将详细讲解如何使用`jmap`中的`-dump:format=b,file=heapdump.hprof`选项来生成堆栈文件,并利用MAT(Memory Analyzer Tool)进行分析。 首先,`jmap`是Java HotSpot虚拟机的一个命令行工具,它可以提供关于JVM...

    JMAP-Server:如http所指定的JMAP服务器的实现

    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代理服务器jmap-perl.zip

    jmap-perl 是 JMAP 代理服务器的 Perl 实现,Perl JMAP 后端可以与 IMAP 和 SMTP 服务器通许,允许在邮件系统上替换 JMAP 接口。为了高效,初始化实现要求所有服务器支持 CONDSTORE 扩展(RFC4551/FRC7162)。提供一个...

    jvm信息jmap使用的基本方法教程

    jmap -heap ``` 这将展示JVM的堆配置,包括eden区、survivor区和老年代的大小,以及垃圾收集器的详细信息。 3. **生成堆内存快照(histogram)**: 使用`-histo[:live]`选项可以生成对象的直方图,其中`live`...

    jmap Eclipse内存分析工具.rar

    1. **生成堆转储(Heap Dump)**: 使用`jmap -dump`命令,可以在运行时将Java堆的完整状态导出为一个二进制文件,通常以`.hprof`为扩展名。 2. **堆统计信息**: `jmap -histo`可以打印出堆中对象的数量和大小的直方...

    06-VIP-JVM调优实战及常量池详解(1)1

    Java虚拟机(JVM)调优是提升Java应用程序性能的关键环节。在JVM中,字符串对象的创建尤其值得关注,因为它们频繁出现且消耗大量的时间和内存。JVM为优化性能和节省内存,对字符串实例化采取了一种特殊策略,即字符...

    jvm日志解读

    《JVM日志解读——揭示Java虚拟机的秘密》 在Java开发中,JVM(Java Virtual Machine)扮演着至关重要的角色。它负责运行我们的代码,管理内存,执行垃圾收集等。当程序出现异常或者性能问题时,JVM生成的日志文件...

    JVM、GC详解及调优

    1. **内存模型**:JVM内存分为堆内存(Heap)、方法区(Method Area)、虚拟机栈(JVM Stack)、本地方法栈(Native Method Stack)和程序计数器(PC Register)。其中,堆和方法区是线程共享的,而栈和程序计数器是...

    JMap-iOS-SDK-Pod

    pod 'JMapiOSSDK' , :git =&gt; 'https://github.com/Jibestream/JMap-iOS-SDK-Pod.git' 对于首次安装,请运行: pod install 要获取最新版本的Pod,请执行以下操作: pod update 作者 路易(Louie),

    java使用JMAP定位代码内存泄漏在哪

    3. **GC日志分析**:`jmap -heap &lt;pid&gt;`可以输出JVM的堆配置信息以及垃圾收集的状态。 4. **堆内存统计**:`jmap -finalizerinfo &lt;pid&gt;`可以查看等待Finalizer线程处理的对象,这有时是内存泄漏的一个迹象。 当...

    jmap-client-ts:TypeScript中的JMAP 1.0客户端库

    jmap-client-ts 用编写的 Client。 如何使用它 导入项目(在package.json ),您可以引用提交或分支以使用快照版本。 创建客户端 let client = new Client ( { accessToken : 'myToken' , sessionUrl : '...

    一次Jvm old过高的排查过程实战记录

    "Jvm Old区过高排查过程...在这篇文章中,我们探索了Jvm Old区过高的排查过程,了解了Jvm的内存结构和垃圾回收机制,并使用jstat、jmap和jvisualvm工具来分析Jvm的内存情况,最后发现了Jvm Old区过高的原因和解决方案。

    FileNotFoundExcetion#learning-notes#JVM内存分配2

    jmap -heap pid可以查看应用程序堆的信息jstat可以打印元空间信息MC :分配到元空间大小MU:已使用的元空间大小 元空间是可以自己扩容的元空间:

    IBM HeapAnalyzer

    在Linux环境下,可以使用`jmap -heap:format=b pid`命令导出指定进程(pid)的堆内存快照,该快照通常为二进制格式(binary format)。 2. **使用IBM HeapAnalyzer进行分析** - **生成heap dump文件**:首先,你...

    java诊断与调优常用命令jmap、jstack、jstat使用实战.pdf

    例如,`jmap -heap [进程ID]` 可以显示堆内存的详细信息,包括eden区、survivor区和old区的使用情况。`jmap -histo [进程ID]` 可以按类型统计对象数量和占用的空间,有助于发现潜在的内存泄漏问题。此外,`jmap -...

    性能测试常用命令.doc

    * 查看 Java 进程的 heap 内存使用情况:jmap -heap * 生成 Java 进程的内存快照:jmap -dump:format=b,file=&lt;filename&gt;.hprof * 查看 Java 进程的栈信息:jstack -l 五、其它命令 最后,以下是一些其它常用的...

Global site tag (gtag.js) - Google Analytics