NIO 버퍼의 메모리 사용량을 볼 수있는 방법이 있습니까? JConsole에는 힙이 아닌 메모리 섹션이 있지만 NIO 버퍼가 포함되어 있다고 생각하지 않습니다.NIO 버퍼의 메모리 사용을 확인하는 방법은 무엇입니까?
운영 체제가 Linux (Ubuntu 또는 CentOS)라면 문제가 될 수 있습니다. ps
명령을 통해 리눅스에서
관련,
빔
NIO 버퍼의 메모리 사용량을 볼 수있는 방법이 있습니까? JConsole에는 힙이 아닌 메모리 섹션이 있지만 NIO 버퍼가 포함되어 있다고 생각하지 않습니다.NIO 버퍼의 메모리 사용을 확인하는 방법은 무엇입니까?
운영 체제가 Linux (Ubuntu 또는 CentOS)라면 문제가 될 수 있습니다. ps
명령을 통해 리눅스에서
관련,
빔
네이티브 스레드의 양 :
for((i=0;;++i)) { echo $i ` grep VmSize /proc/\21009/status | grep -o '[0-9]*'` ` grep VmRSS /proc/\21009/status | grep -o '[0-9]*'` ` grep Threads /proc/\21009/status | grep -o '[0-9]*'` ; sleep 1 || break; } > data
좋아하는 스프레드 시트 도구로 쉽게 가져올 수있는 공백으로 구분 된 파일을 만듭니다.
21009를 모니터링 할 Java 프로세스의 프로세스 ID로 바꿔야합니다.
JVM이 사용하는 모든 메모리가 아닌, NIO가 할당 한 것만을 볼 수 있기를 바란다.이 작은 스크립트는 이미 내가보기에 충분히 유용하다는 것을 입증했지만 조사하고있는 프로그램에 메모리 누수가 없다는 것입니다.
예. 예 :
ps x -o command,rss | grep java | grep latest | cut -b 17-
출력은 KB 단위입니다.
당신은 자바, RSS 및 NIO 버퍼에 대해 내가 다시 잠시했다 질문에 관심이있을 수 있습니다 : 나는 가상 및 RSS 메모리를 모니터하려면이 옵션을 사용했습니다 Why does the Sun JVM continue to consume ever more RSS memory even when the heap, etc sizes are stable?
직접 메모리 버퍼는 사용하는 실제 메모리 (다음 페이지 크기, 일반적으로 4K) 만 사용합니다. 가상 메모리를 생성 할 때 가상 메모리를 사용하지만 직접 메모리 버퍼의 페이지를 사용할 때까지 OS가 실제 메모리 (상주) 페이지를 할당하지 않을 정도로 똑똑합니다. 이는 사용 된 실제 메모리의 크기가 할당하는 메모리의 양 (가상)보다 작을 수 있음을 의미합니다. 물리적/상주 메모리는 신경 써야합니다.
몇 가지 KB를 사용하기를 원한다고해도 몇 MB 버퍼를 할당 할 수 있습니다. 사용하는 양만 사용하고 더 많은 것이 필요하면 프로그램이 터지지 않습니다. 쪽으로. 즉, 크기를 올바르게 설정할 필요가 없으며 할당 된 크기를 상당히 추정 할 수 있습니다.
링크를 제공해 주셔서 감사합니다. 매우 흥미 롭습니다. –