의 출력 과 다음의 출력을 free
비교하려고 합니다 sar -r
.
# sar -r
12:00:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
12:10:01 AM 629756 65293976 99.04 586536 60321636 5094176 7.49
# free
total used free shared buffers cached
Mem: 65923732 9120348 56803384 0 403628 5789524
-/+ buffers/cache: 2927196 62996536
Swap: 2097144 0 2097144
free
시작 줄에는 Mem:
다음이 있음이 분명합니다 sar
.총 kbmem,케보메는 생각했다,KBmemfree,???,kb 버퍼,KB 캐시.
출발선에서 -/+
:???,???
내가 표시한 값의 이름은 무엇입니까?????이 kbcommit
값인가요? 내가 읽고리눅스가 내 기억을 먹어버렸어이것은 숫자의 의미를 설명하지만 이름은 설명하지 않습니다. 게다가,무료 맨페이지이름도 주어지지 않았습니다.
답변1
이름은 실제로 일치하지만 정확히 동일한 필드는 표시 sar
되지 않습니다 .free
첫 번째는 ???
그렇지 않습니다. 공유 메모리입니다. kbcommit
from과 같습니다.Shmem
/proc/meminfo
두 번째 줄은 버퍼와 캐시에 사용되는 메모리가 사용되지 않고 사용 가능한 것으로 간주되는 경우 메모리 사용량을 보여줍니다.
$ free
total used free shared buffers cached
Mem: MemTotal kbmemused kbmemfree Shmem kbbuffers kbcached
-/+ buffers/cache: USED2 FREE2
Swap: 0 0 0
- MemTotal = /proc/meminfo의 MemTotal
- Shmem = /proc/meminfo의 Shmem
- USED2 = kbmemused - kbbuffers - kbcached
- FREE2 = kbmemfree + kbbuffers + kbcached
답변2
실제로 출력에서 알 수 있듯이 sar
s kbmemused
는아니요의 두 번째 "Mem:" 필드와 동일합니다 free
. 에서 man sar
:
케보메는 생각했다 사용된 메모리 양(KB)입니다.이는 커널 자체에서 사용하는 메모리를 고려하지 않습니다.
고려되지 않은 부분은 다음과 같다고 가정합니다.
kb 버퍼 버퍼로 사용되는 메모리 양커널별킬로바이트 단위로 측정됩니다.
KB 캐시 데이터를 캐시하는 데 사용되는 메모리 양커널별킬로바이트 단위로 측정됩니다.
이것이 단지 오해의 소지가 있는 문서가 아니길 바랍니다. 저는 sar
사용자가 아닙니다. 어쨌든 맨 윗줄에는 free
버퍼와 캐시가 포함됩니다. 두 번째 줄( +/- buffers/cache
)은 그렇지 않습니다. 403628( buffers
) + 5789524( cached
) = 6193152 및 9120348( Mem: used
) - 6193152 = 2927196( +/- buffers/cache: used
)입니다.
그들의 이름
원하는 대로 전화할 수 있습니다. 이름은 sar
임의적입니다. 출력 값을 "메모리 사용 마이너스 캐시"라고 하면 free
분명히 두 번째 줄의 첫 번째 숫자를 참조하는 것입니다.