`free`: 출력 형식

`free`: 출력 형식

free특정 서버에서 여유 공간을 확보하는 데 사용합니다 . 출력은 다음과 유사합니다.

$ free -m
             total       used       free     shared    buffers     cached
Mem:           374        366          8          0         58         98
-/+ buffers/cache:        209        165
Swap:         1906        120       1785

나에게 남은 여유 공간은 얼마나 됩니까?

답변1

free출력 목록 의 첫 번째 줄은 다음과 같습니다 .

  • total총 실제 메모리(가상화가 없다고 가정)
  • used현재 얼마나 (아무거나) 사용됩니까?
  • free그 중 완전 무료(전혀 사용되지 않음)는 몇 개입니까?
  • shared tmpfs에서 사용하는 메모리(주로)(Linux의 경우 커널 >= 2.6.32)
  • buffers커널 버퍼에서 사용되는 메모리
  • cached캐싱에 사용되는 메모리

마지막 두 항목인 캐시와 버퍼는 특정 사용자 프로세스에 할당되지 않은 메모리입니다. 전반적인 성능을 향상시키기 위해 커널이 예약한 메모리이지만 "응용 프로그램" 메모리는 아닙니다. 이러한 영역은 캐시, 메모리 압력, 애플리케이션 I/O 패턴 등과 관련된 커널 정책에 따라 늘어나거나 줄어듭니다.

이 두 열은 사용자 할당 메모리가 아니며 사용자 할당에 필요한 경우 영역이 축소될 수 있으므로(사실상 0으로) 어떤 의미에서는 "사용 가능"합니다. 응용 프로그램에 메모리가 있으면 커널이 RAM을 적극적으로 확보할 수 있습니다. 그것.

이것이 두 번째 줄이 말하는 것입니다. 컬럼에서 버퍼와 캐시 메모리를 제거하고 used(즉 -, 컬럼 +에 추가합니다 ( ). free(반올림 문제가 발생합니다.)

(마지막 줄에는 스왑 공간의 상태가 표시됩니다.)

답변2

스왑이 없으면 실제 여유 공간은 165입니다. 캐시를 사용하면 8MB의 여유 공간이 있습니다. 캐싱이 없으면 165MB의 여유 공간이 있습니다. -/+해당 라인은 캐시되지 않습니다. 첫 번째 줄은 캐시입니다.

관련 정보