CentOS 7 시스템을 사용하고 있는데 문제가 발생했습니다.
을 사용하면 lsmem --summary
다음을 얻습니다.
Memory block size: 128M
Total online memory: 8G
Total offline memory: 0B
을 사용하면 free -h
다음을 얻습니다.
total used free shared buff/cache available
Mem: 7.6G 850M 1.7G 361M 5.1G 6.1G
Swap: 7.7G 0B 7.7G
동일한 시스템에서 총 메모리가 다른 이유는 무엇입니까?
이 두 명령의 차이점은 무엇입니까?
답변1
lsmem
메모리 블록과 해당 상태를 나열합니다. 이는 물리적 메모리를 반영하며 메모리 블록으로 계산됩니다.즉시스템에는 128MiB가 있습니다. 이를 수행하려면 lsmem
커널에서 제공하는 정보를 읽으십시오 /sys/devices/system/memory
. 시스템에서 커널은 64개의 메모리 블록(총 8GiB)을 추적합니다.
free
시스템에서 사용할 수 있는 메모리를 나열합니다. "총계"는 물리적 메모리의 양에서 시스템에 의해 예약된 메모리(주로 펌웨어 목적으로)와 커널의 실행 코드를 뺀 값입니다. free
이 정보를 읽으십시오/proc/meminfo
.
출력의 차이는 측정값의 차이로 설명될 수 있습니다. 모든 경우에 free
총 메모리는 lsmem
총 온라인 메모리보다 작습니다.