"内存不足或没有足够的权限来附加"捕获tomcat转储时

时间:2016-11-02 02:25:13

标签: java debugging tomcat coredump

我试图用jmap捕获tomcat进程转储,但是我得到了错误"内存不足或没有足够的权限来附加" ,显然有足够的内存,当前的登录用户是角色本地管理员组。如果我以管理员身份运行cmd命令,它仍然会失败。

C:\Program Files\Java\jdk1.7.0_71\bin>jmap.exe -dump:format=b,file=d:\temp\HeapD
ump.hprof 30452
30452: Insufficient memory or insufficient privileges to attach
The -F option can be used when the target process is not responding

1 个答案:

答案 0 :(得分:0)

我遇到了类似的情况,我们正在运行一个封装为Windows服务的jetty服务器,我想要对其进行内存转储。我认为SO上其他地方的大部分答案都涉及你想要转储的进程没有作为Windows服务运行的情况。这link有所帮助。

下载PsExec并按如下方式运行jmap:

<path to psexec>PsExec.exe -s "C:\Program Files\Java\jd k1.8.0_131\bin\jmap.exe" -dump:file=<filename> <processid>