서버 관리/리눅스
메모리 관리
jdaemanv2
2022. 12. 28. 12:51
[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 유저에서 아래 명령어를 차례대로 실행
- sync
- echo 2 > /proc/sys/vm/drop_caches