2016-11-02 3 views
0

jmap으로 tomcat 프로세스 덤프를 캡처하려고했지만 "메모리가 충분하지 않거나 연결할 수있는 권한이 없습니다"라는 메시지가 표시됩니다. 현재 로그인 사용자는 역할 로컬 관리자 그룹에 있습니다. 관리자로 cmd 명령을 실행해도 여전히 실패합니다.Tomcat 덤프를 캡처 할 때 "메모리가 부족하거나 권한이 충분하지 않습니다."

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 
+0

당신은 -F 옵션을 사용하여 시도? jmap을 Tomcat과 동일한 사용자로 실행하고 있습니까? – Catchwa

+1

바람둥이 전에 그 오류가 나타납니다. 이것을 참조하십시오 http://stackoverflow.com/questions/20149635/java-jstack-tool-insufficient-memory-or-insufficient-privilege-to-attach –

+0

가능한 [Jstack 및 저장소가 부족하여이 명령을 처리 할 수 ​​없습니다] (http://stackoverflow.com/questions/906620/jstack-and-not-enough-storage-is-available-to-process-this-command) – Vadzim

답변

0

Windows 서비스로 랩핑 된 부두 서버를 실행하는 비슷한 시나리오가 발생하여 메모리 덤프를 가져 가고 싶습니다. 나는 SO의 다른 곳에서의 답의 대부분이 당신이 덤프를 취하기를 원하는 프로세스가 윈도우 서비스로 실행되지 않는 상황을 다룬다 고 생각한다. 이 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>