리눅스에서 실행중인 자바 프로세스에 대한 내 메모리가 어디에 있는지 찾으려고합니다. 누군가는 pmap -x를 사용하여 메모리가 무엇을하는지 정확히 알 수 있다고 제안했습니다.누출 위치를 찾으려고합니다! pmap의 의미는 무엇입니까?
출력은 정말 긴하지만, 기본적으로 그것의 좋은 부분이의 반복이다 :
00007fbf75f6a000 1016 - - - rwx-- [ anon ]
00007fbf76068000 12 - - - ----- [ anon ]
정확히 무엇을 의미 하는가은? 왜이 항목이 너무 많습니까 (4000 이상)?
> pmap을 사용하여 Java 메모리 문제를 진단하는 이유는 무엇입니까? 힙이 최대 256MB로 설정된 Java 프로세스가 있지만 RSS 메모리는 8.9GB입니다. 이것을 진단하기 위해 우리는 다른 어떤 도구를 사용할 수 있습니까? – Opher
@Opher - 물론, 당신에게 의미가 있습니다. 하지만 너 OP 야? (그렇다면 8 년 후에 왜 의견을 말합니까?). 원래 질문에서 OP가 자신이 원하는 것을 알고 있는지 여부는 불분명했습니다. – kdgregory
제안 사항 : 구성된 힙 크기와 RSS 사이에 이와 같은 불일치가있는 경우 메모리 매핑 파일이나 직접 버퍼를 찾습니다. 예를 들어 카프카 (Kafka) 또는 SOLR 서버에서 이러한 동작을 볼 수 있으며 이는 정상입니다. – kdgregory