捕获 tomcat 转储时出现“内存不足或附加权限不足”
Posted
技术标签:
【中文标题】捕获 tomcat 转储时出现“内存不足或附加权限不足”【英文标题】:"Insufficient memory or insufficient privileges to attach " when capture the tomcat dump 【发布时间】:2016-11-02 02:25:12 【问题描述】:我尝试使用 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
【问题讨论】:
您是否尝试过使用 -F 选项?您是否以与 Tomcat 相同的用户身份运行 jmap? 我之前在 tomcat 中看到过这个错误。看到这个***.com/questions/20149635/… Jstack and Not enough storage is available to process this command的可能重复 【参考方案1】:我遇到了一个类似的场景,我们正在运行一个打包为 Windows 服务的码头服务器,我想对其进行内存转储。我认为 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>
【讨论】:
以上是关于捕获 tomcat 转储时出现“内存不足或附加权限不足”的主要内容,如果未能解决你的问题,请参考以下文章