我正在尝试获取JVM的线程转储。我使用top命令和ps查找进程id和pid的用户(即root用户)。
因此,我运行以下命令来获取线程转储
sudo -u根j堆栈-F PID >-u 1.txt
但是我得到了一些例外
附加到进程的错误:似乎不是HotSpot VM (在远程进程中找不到符号"gHotSpotVMTypes“)
sun.jvm.hotspot.debugger.DebuggerException: Doesn't appear to be a HotSpot VM (could not find symbol "gHotSpotVMTypes" in remote process)**
at sun.jvm.hotspot.HotSpotAgent.setupVM(HotSpotAgent.java:411)
at sun.jvm.hotspot.HotSpotAgent.go(HotSpotAgent.java:305)
at sun.jvm.hotspot.HotSpotAgent.attach(HotSpotAgent.java:140)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:185)
at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
at sun.jvm.hotspot.tools.JStack.main(JStack.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at sun.tools.jstack.JStack.runJStackTool(JStack.java:140)
at sun.tools.jstack.JStack.main(JStack.java:106)我们对任何帮助、建议或意见深表感谢。
发布于 2016-03-03 04:20:48
好的。我终于能解决问题了。那只小猫正在码头下面跑。所以我必须在docker中运行命令。我遵循下面提到的步骤。
1. Access the docker
2. Find the PID of tomcat by running command within docker.
3. Run command /<oracle path>/bin/jstack PID >> filenamehttps://stackoverflow.com/questions/35691319
复制相似问题