본문 바로가기
IT/Linux_리눅스

[Linux] free 명령어로 현재 메모리(RAM) 상황 확인하기

by 능보테 2020. 12. 31.
728x90
반응형

안녕하세요. 이번 포스팅에서는 free 명령어를 사용해서 메모리 전체 현황 및 사용량에 대해서 알아보는 방법을 써보도록 하겠습니다.

 


0. Memory(RAM)

Memory

 

우리가 흔히 메모리라고 말할 때, 그것은 정확히 RAM 자원을 뜻합니다.
메모리는 프로세스가 연산할 수 있는 공간을 제공해 주는 리소스라고 할 수 있습니다.

 

리눅스의 프로세스들은 이 메모리라는 공간에 각각 자신이 필요한 함수를 넣거나 변수에 값을 저장하는 등의 연산을 위한 공간을 확보하고 작업을 합니다.

 

메모리가 부족한 상황에서 프로세스들은 연산을 위한 공간을 더 이상 확보하지 못하게 되고, 이는 성능 저하부터 시스템 자체가 응답이 불가능한 상황까지 이어지는 결과를 초래할 수도 있습니다.

 

이와 같은 문제로 메모리가 어떻게 사용되고 있는지 현황은 어떠한지 파악하는 것은 CPU 사용률, Load Average 만큼 중요한 지점입니다.


Free 명령어를 통해 시스템의 메모리 사용량을 확인하고 그 의미가 무엇인지 보도록 하겠습니다.

 


 

1. free 명령어로 메모리 사용량 확인

free 명령어는 리눅스에서 메모리의 전체 현황을 쉽게 알아볼 수 있는 명령어입니다.

아래와 같이 전체 메모리, 사용중인 메모리, buffers/cached 의 항목들을 확인할 수 있습니다.

 

free 명령어 실행

 

free 명령어 뒤에 쓴 옵션은 출력데이터 단위를 말합니다.

free -b : byte 단위
free -k : KB 단위
free -m : MB 단위
free -g : GB 단위

 

위의 free 명령어 실행 화면에서 각각의 열에 대해서 간략하게 정리합니다.

total: 시스템의 전체 메모리 양
used: 시스템에서 사용하고 있는 메모리
free: 시스템에서 아직 사용하고 있지 않은 메모리
shared: 프로세스 사이에서 공유하고 있는 메모리

buff/cache:
buffers: 버퍼 용도로 사용하고 있는 메모리
cached: 페이지 캐시라 불리는 캐시 영역에 있는 메모리, I/O 관련 작업을 더 빠르게 진행하기 위해 커널에서 사용하고 있는 영역

위의 total~shared 항목은 직관적으로 어떤 공간을 말하는지는 쉽게 알 수 있지만
buffers, cached의 의미는 정확히 짚어둘 필요가 있습니다.

 


2. 메모리의 buffers와 cached 영역

커널은 블록 디바이스인 디스크로부터 데이터를 읽거나 사용자 데이터를 디스크에 저장합니다.

이 작업들은 다른 장치들의 연산에 비해 상대적으로 매우 느린 작업이므로 디스크에 대한 요청 (I/O)을 기다리는 시간이 많이 소요되고, 이로 인해 시스템에 부하를 가져오기도 합니다.

 

커널은 이런 상대적으로 느린 디스크에 대한 요청을 조금 더 빠르게 처리하기 위해서 메모리의 일부를 디스크 요청에 대한 캐싱 영역으로 할당해서 사용합니다.

 

즉, 한번 읽은 디스크의 내용을 메모리에 저장해 두고, 똑같은 내용을 읽어야 할 때, 디스크로 요청하지 않고 메모리로 요청하여 속도를 높입니다.

 

그렇다면 buffers, Cached의 차이는 어떻게 될까요?

buffers(Buffer Cache)는 super block, inode block처럼 파일의 내용이 아닌 파일 시스템을 관리하기 위한 메타 데이터를 읽어올 때 사용하는 캐시입니다.

 

Cached(Page Cache)는 이전에 말했던 블록 디바이스에서 데이터를 읽을 때, 그 데이터 내용 자체를 다루는 캐시입니다.

 

Buffers(Buffer Cache): 파일 시스템의 메타 데이터 캐시
Cached(Page Cache): 파일의 내용을 저장하고 있는 캐시

 


본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.

인용 시 출처와 같이 공개해주세요!

도움이 되셨다면 댓글 또는 공감 부탁드립니다!

 

Icon made by ultimatearm from www.flaticon.com

728x90
반응형

댓글