vmstat는 Java 힙을 어떻게 고려합니까?

vmstat는 Java 힙을 어떻게 고려합니까?

나는에 대해 물어보고 싶다가상 머신 상태.

저는 Linux 커널(RHEL 7.3) 위에서 jvm 엔진을 실행 중이며 어떤 프로세스가 실제 메모리를 사용할 수 있는지 알고 싶습니다.

vmstat를 사용하여 사용 가능한 메모리 양을 확인하지만 보고서에 포함되어 있는지 확실하지 않습니다.Java 힙 커밋된 바이트또는Java 힙 사용 바이트.

다음은 제가 사용하는 vmstat의 예입니다. 내 환경은

OS mem   : 4GB
JVM Heap : 2GB


[ywatanabe@localhost tmp]$ vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0      0 771932   2108 546772    0    0    34    81  189  161  5  1 95  0  0
 0  0      0 771932   2108 546776    0    0     0     0   82  115  0  1 99  0  0
 0  0      0 771932   2108 546776    0    0     0     0   74  111  0  0 100  0  0

이것은 어느 것입니까?무료열이 제외되었나요?Java 힙 커밋된 바이트또는Java 힙 사용 바이트?

답변1

vmstat 열 free에서 보고된 숫자물리적메모리(RAM)는 시스템에서 사용되거나 사용 가능한 어떤 것도 포함하지 않으므로 즉시 할당할 수 있습니다.

Java 힙 커밋됨바이트로 표시되는 수량가상운영 체제에서 JVM이 요청한 메모리입니다.

사용된 Java 힙바이트로 표시되는 수량가상실제 데이터(객체)를 포함하는 메모리입니다.

가상 메모리가 RAM, 디스크(파일 또는 스왑) 또는 어디에나 존재할 수 있다는 점을 고려하면 RAM과 가상 메모리 사용량을 안정적으로 비교할 수 없습니다.

관련 정보