제가 아파치 드리프트를 사용하여 자바 서버를 실행하고 항상 성장 I 메모리 (올드 세대를) 발견을 프로파일 링하고있어 실행 누출 그래프를 끝내면 "Perform GC"를 클릭했기 때문입니다.메모리, 아파치 드리프트 서버
여기에 메모리 누수가 있음을 알고 있습니다. 그래서 누출 감지기 (MAT)를 실행하고 다음과 같이보고 "에 의해로드"com.sun.jmx.remote.internal.ArrayNotificationBuffer " 의
하나의 인스턴스를"(7844208를 차지 77.22 %) 바이트.
나는이 클래스를 직접 사용하지 않으므로 Apache Thrift가이를 내부적으로 사용한다고 가정합니다. 나는 또한 ArrayNotificationBuffer
메모리 누수가 발견했습니다 this actually is an old known fixed JDK bug.
그래서 나는 이것에 대해 몇 가지 질문이 있습니다
내가 클릭 "GC 수행"왜 할당 된 메모리 이러한 드롭이있다? GC가 자동으로 실행되지 않습니까? 왜이 메모리를 쓰레기 수집하지 않는거야?
ArrayNotificationBuffer
에 관한- 내가 사용하는 오픈 JDK (7u55-2.4.7-1ubuntu1 ~ 0.12.04.2) 및 as far as I can see 모든 버그는 매우 오래된 고정, 그래서 왜 이런 일이 무엇입니까? 그것을 고치는 방법?
빠른 검색은 Thrift 소스에 'ArrayNotificationBuffer'가 없음을 나타냅니다. – JensG
@JensG 내가 틀렸다고 생각한다. JMX는 실제로 JVM에서 실제로 사용된다. – m0skit0