2011-12-09 2 views
3

Java 애플리케이션이 있습니다. 그것은 리눅스 플랫폼입니다. 우리는 Java 6을 사용하고 있습니다. 이것은 정상적인 sdk java와 일부 JNI입니다.Java 성능 튜닝, JNI 메모리 누수

우리는 visualvm을 사용하여 메모리 누수를 모니터링합니다. 우리는 visualvm 응용 프로그램에서 힙을 지속적으로 소비하지 않는다는 것을 알 수 있습니다. 그러나 전체 프로세스 메모리는 리눅스가 프로세스를 죽일 때까지 항상 증가합니다.

그런 다음 JNI 부분을 의심하고 있습니다. JNI의 부분 메모리 누수가 visualvm에서는 보이지 않기 때문에. 누군가 Java 성능 테스트를 수행 할 때 JNI 메모리 누출을 검사하는 방법에 대한 힌트를 얻을 수 있습니까?

답변

4

오라클은 이러한 경우에 누수 트래커를 생성하는 방법에 대해을 일부 보유하고 있습니다. dbx 명령은 Linux에서 사용 가능한 하나의 대안으로 언급됩니다.