본문 바로가기

서버 관리/리눅스

메모리 관리

[1. 개요]

리눅스 서버 메모리 관리 방법을 정리한다.

관련 명령어 및 파일

  • free
  • sync
  • /proc/sys/vm/drop_caches

[2. free 명령어]

리눅스 서버 머신의 메모리 사용량을 보여준다.

여러가지 옵션들이 있지만, 아래 명령어를 주로 사용하여 현재 메모리 상태를 파악하도록 한다.

  •  free -wh

[3. sync 명령어]

sync 명령어는 하나 이상의 열려 있는 파일을 명시할 경우

해당 파일에 버퍼링된 데이터를 디스크로 flush 하지만,

 

따로 명시한 파일이 없는 경우, 파일 시스템에 버퍼링 된 데이터 전체를 flush 한다.


[4. /proc/sys/vm/drop_caches 파일]

proc 파일 시스템에 있는 drop_caches 파일은 write 만 가능한 파일이다.

이 파일에 0 ~ 3 사이에 값을 작성하면 아래와 같은 작업을 수행한다.

  • 0: default
  • 1: page 캐시 해제
  • 2: dentry, inode 캐시 해제
  • 3. page, dentry, inode 캐시 해제

운영 중인 서비스가 있다면, 페이지 캐시 해제보다는

커널 자료구조인 dentry 와 indoe 캐시 해제를 하는 것이 적당해보인다.


[5. 메모리 정리]

root 유저에서 아래 명령어를 차례대로 실행

  1. sync
  2. echo 2 > /proc/sys/vm/drop_caches

 

'서버 관리 > 리눅스' 카테고리의 다른 글

shell script 정리  (0) 2023.04.17
jq 명령어  (0) 2023.02.05
커널 매개변수  (0) 2023.02.04
프로세스 관리 - ps, top  (0) 2022.12.28
프로세스 관리 - crontab  (0) 2022.12.28