리눅스 메모리 사용량 확인 명령어 free (스왑 메모리란?)

리눅스에서 현재 시점의 메모리 상태를 가장 쉽게 확인하는 방법은 free 명령어를 사용하는 것입니다.

리눅스 메모리 확인

리눅스 free 사용 방법

가장 기본형은 free입니다.

[root@localhost ~]# free
              total        used        free      shared  buff/cache   available
Mem:         995672      763528       75228        4676      156916       84052
Swap:       2097148       41984     2055164

아무 옵션 없이 사용하면 단위가 KiB로 표시됩니다. 보기가 어렵습니다. 그래서 보통 읽기 쉽도록 -h 옵션을 붙여서 사용합니다.

[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           972M        745M         73M        4.6M        153M         82M
Swap:          2.0G         41M        2.0G

내용을 살펴보겠습니다. 메모리(Mem)와 스왑 메모리(Swap) 정보가 출력됩니다. 위 예시에선 전체 메모리는 972MB, 사용된 메모리는 745MB, 남은 메모리는 74MB라는 의미입니다.

컬럼별로 정리하면 아래와 같습니다.

  • total : 사용 가능한 총 메모리 양입니다.
  • used : 사용된 메모리입니다. 사용된 메모리는 전체 메모리(total) - 사용되지 않은 메모리(free) - 버퍼/캐시 메모리(buff/cache)로 계산됩니다.
  • free : 사용하지 않은 메모리입니다.
  • shared : 별로 중요하지 않습니다. 무시하셔도 됩니다.
  • buff/cache : 애플리케이션 구동을 빠르게 하기 위해 사용되는 메모리입니다. buffers는 메모리에 존재하는 영역 중 디스크로 플러시될 데이터 영역입니다. cache는 실행된 프로그램이 사용했던 메모리입니다. buff와 cache를 각각 보고 싶으면 free -w 옵션으로 조회할 수 있습니다.
  • available : 메모리 스와핑(swapping) 없이 새로운 프로세스에 할당 가능한 메모리 예상 크기입니다.

스왑 메모리란?

리눅스에서 스왑 메모리는 물리적 메모리(RAM)가 모두 찼을 때 사용됩니다. RAM이 가득차면 현재 사용하지 않는 메모리를 하드 디스크로 옮기고 사용하는 방식으로 작동합니다. 물리적 메모리가 모두 찼음에도 애플리케이션 서비스를 이어갈 수 있게 해 줍니다.

그러나 CPU가 데이터를 메모리에서 읽는 것 대비 디스크에서 읽으면 액세스 시간이 오래 걸리기 때문에 스왑 메모리가 많아지면 시스템은 전체적으로 느려집니다.

반응형

댓글

Designed by JB FACTORY