使用jmap -histo:live pid 抱错

leleconnie 2009-04-17 09:23:34
linux下执行
/usr/java/jdk1.6.0_07/bin/jmap -histo:live 11553 | grep packagermanager
总是报错:
sun.jvm.hotspot.debugger.NoSuchSymbolException: Could not find symbol "gHotSpotVMTypeEntryTypeNameOffset" in any of the known library names (libjvm.so, libjvm_g.so, gamma_g)
at sun.jvm.hotspot.HotSpotTypeDataBase.lookupInProcess(HotSpotTypeDataBase.java:388)
at sun.jvm.hotspot.HotSpotTypeDataBase.getLongValueFromProcess(HotSpotTypeDataBase.java:369)
at sun.jvm.hotspot.HotSpotTypeDataBase.readVMTypes(HotSpotTypeDataBase.java:102)
at sun.jvm.hotspot.HotSpotTypeDataBase.<init>(HotSpotTypeDataBase.java:85)
at sun.jvm.hotspot.bugspot.BugSpotAgent.setupVM(BugSpotAgent.java:568)
at sun.jvm.hotspot.bugspot.BugSpotAgent.go(BugSpotAgent.java:494)
at sun.jvm.hotspot.bugspot.BugSpotAgent.attach(BugSpotAgent.java:332)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:163)
at sun.jvm.hotspot.tools.HeapSummary.main(HeapSummary.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.tools.jmap.JMap.runTool(JMap.java:178)
at sun.tools.jmap.JMap.main(JMap.java:110)
Debugger attached successfully.
sun.jvm.hotspot.tools.HeapSummary requires a java VM process/core
甚至我运行..../jmap -histo -F 11553也是报同样的错误
查了半天不知道究竟是哪里的问题,不知有谁遇到过类似的问题,麻烦分享一下怎么解决的吧!
...全文
1671 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
leleconnie 2009-04-21
这个问题解决了,原因是pid用得不对!!小错误害死人。。大家以后一定要谨慎!!!
回复
JarodYv 2009-04-17
这个跟虚拟机版本有关。楼主用的什么版本的Java虚拟机?
回复
Dantin 2009-04-17
UP
回复
leleconnie 2009-04-17
顶一下!
回复
ghostgant 2009-04-17
ding
回复
leleconnie 2009-04-17
libjvm.so在amd64下,是不是就是代表这个jre 是for amd64?
回复
leleconnie 2009-04-17
-java version
结果:
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)

服务器的cpu是intel64,但看jre的路径里有个amd64这个目录。这之间有关联吗?


我运行/usr/java/jdk1.6.0_07/bin/jmap -histo:live 11553 | grep packagermanager 的时候报的错误是:
11553: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding


然后我运行 /usr/java/jdk1.6.0_07/bin/jmap -F11553 才出现的上面的错误。
回复
发帖
Eclipse
创建于2007-09-28

5.8w+

社区成员

Java Eclipse
申请成为版主
帖子事件
创建了帖子
2009-04-17 09:23
社区公告
暂无公告