free
내 명령에서 얻은 샘플 출력을 고려하십시오 Ubuntu 12.04
.
total used free shared buffers cached
Mem: 8074640 6187480 1887160 377056 365128 2113156
-/+ buffers/cache: 3709196 4365444
Swap: 15998972 82120 15916852
의 Memused
(kb_main_used) 필드 값은 이제 다음과 같이 계산된다 :
used = total - free - cached - buffers
이전에는 다음과 같습니다.
used = total - free
이 변경 사항은 다음 커밋 https://gitlab.com/procps-ng/procps/commit/6cb75efef85f735b72e6c96f197f358f511f8ed9 에서 도입되었습니다.
중간 값 :
buffers_plus_cached = buffers (kb_main_buffers) + cached (kb_main_cached) = 365128 + 2113156 = 2478284
+/- 버퍼 / 캐시 값은 다음과 같이 계산됩니다.
buffers = kb_main_used - buffers_plus_cached = 6187480 - 2478284 = 3709196
/
cache = kb_main_free + buffers_plus_cached = 1887160 + 2478284 = 4365444
새로운 버프 / 캐시 값은 다음과 같이 계산됩니다.
buff/cache = kb_main_buffers+kb_main_cached = 365128 + 2113156 = 2478284
이것은 buffers_plus_cached
이전 버전에서 사용 된 과 동일하지만 차이점은 이전에 내부적으로 사용되었으며 이제 직접 표시되고 추가 계산 된 줄 -/+ buffers/cache
이 제거되었다는 것입니다.
더 많은 정보를 원하시면,이 변화가 소개 된 이러한 커밋을 확인하십시오 :
https://gitlab.com/procps-ng/procps/commit/f47001c9e91a1e9b12db4497051a212cf49a87b1
https://gitlab.com/procps-ng/procps/commit/c9908b59712d1afd6b9bf7971ba1d8900ae5adb8
새 available
필드에서 2.6.27 이전의 Linux 커널의 경우 값이 값과 동일 free
하지만 이후 버전의 커널의 경우 약간 다릅니다.
Estimation of how much memory is available for starting new
applications, without swapping. Unlike the data provided by the
cache or free fields, this field takes into account page cache
and also that not all reclaimable memory slabs will be reclaimed
due to items being in use (MemAvailable in /proc/meminfo,
available on kernels 3.14, emulated on kernels 2.6.27+,
otherwise the same as free)
예의 :
http://manpages.ubuntu.com/manpages/xenial/en/man1/free.1.html
따라서 귀하의 질문에 대한 구체적인 답변은 다음과 같습니다.
- 새 버전의
free
포함 버퍼 / 캐시 Mem used/free
값 계산 .
+/- buffers/cache
의 이전 버전이있을하는 데 사용되는 값 free
으로 사용할 수 있습니다 :
- -/ + buffers / cache
used
= 현재 Mem used
열 (그 계산은 위에 자세히 설명되어 있습니다)
- -/ + 버퍼 / 캐시
free
는 현재 새 열에서보다 정확한 값으로 사용 가능available
NB :kb_*
변수 이름은 소스 코드에서 사용되는 내부 명칭이다.