2014-07-17 5 views
12

-XX:+HeapDumpOnOutOfMemoryError을 사용하는 경우 JVM은 지정된 경로 아래에 이미 덤프 파일이있는 경우 힙 덤프를 덮어 쓰지 않습니다. 기본이 아닌 위치에서 여러 힙 덤프를 가질 수 있기를 원하며이를 허용하기 위해 힙 덤프 경로에서 PID를 사용할 계획을 세웠습니다. 내가 주장과 같이 지정하려고 할 때-XX : HeapDumpPath 옵션을 사용하지만 프로세스 ID를 통합하려는 경우

그러나 :

-XX:HeapDumpPath=some/heapdump/path/heapdump-%p.hprof 

그리고 힙 덤프를 생성, 나는 %p있어 파일 이름의 실제 PID 없습니다. 그러나 %p을 사용하면 -XX:OnOutOfMemoryError 옵션을 사용할 수 있습니다. -XX:HeapDumpPath=에 사용해야하는 다른 구문이 있습니까?

답변

0

당신은 자바가 사용하는 추가해야합니다. 이러한 옵션은 JVM 공급 업체 (IBM, Oracle 등)에 따라 다릅니다.

OnOutOfMemoryError은 덤프를 수행하기 위해 WHEN을 말합니다. HeapDumpPath은 WHERE에 덤프를 넣으라고 말합니다. 나는 HeapDumpPath의 사용이 처음에 시작한다고 생각하지만, 명확성을 위해 둘 다 사용하라는 조언.

원본 질문에 대해서는 덤프 파일 이름에 pid를 사용하는 것이 좋습니다. 특히 여러 문제/재시작 후에 일어날 일을 분석하고 분석하는 데 도움이 될 수 있습니다.

정확한 구문은 here으로 설명되어 있습니다.