Devops/Linux

[Linux] 메모리 Buffer/Cache 비우기

dev_ss 2024. 8. 13. 01:45

 

 

 

이전 글에서는 컴퓨터 자원과 그 사용량을 확인할 수 있는 명령어를 알아보았다.

 

 

[Linux/Ubuntu] 메모리 / 디스크 / 디렉토리 용량 확인

많은 사람들이 AWS에서 Ubuntu를 기반으로 EC2 인스턴스를 많이 생성해서 운용하는 것으로 알고 있는데, 운용함에 있어 알아두면 좋은 명령어들이다. 1. 메모리 확인 # 기본 명령어 $ free # 가독성을

ssnotebook.tistory.com

 

 

서버에 Database나 Kafka와 같은 메시지 브로커를 올려서 IO가 많이 발생하게 된다면, 아래 사진과 같이 Buff/Cache가 많이 쌓이게 된다.

 

 

 

필요에 따라 쌓인 캐시를 비워줄 수 있지만, 캐시를 바로 비우면 데이터 손실이 일어날 수 있기에 아래 명령어를 통하여 캐시를 스토리지와 동기화를 시켜준다.

 

# 비우기 전 데이터 손실 방지로 캐시를 스토리지와 싱크
sync

 

 

sync를 맞추고 나면 목적에 따라 아래 3가지 방식으로 캐시를 비울 수 있다.

 

 

  • Buffer cache(Page cache) 할당을 해제
# 커널에 값을 직접 입력할 때
echo 1 > /proc/sys/vm/drop_caches

# sysctl 사용 시
sysctl -w vm.drop_caches=1

 

 

  • Dentries, Inodes 할당을 해제
# 커널에 값을 직접 입력할 때
echo 2 > /proc/sys/vm/drop_caches

# sysctl 사용 시
sysctl -w vm.drop_caches=2

 

※ Dentries, Inodes : 파일 및 디렉토리 구조 캐싱

 

  • 전체(Buffer Cache, Dentries, Inodes) 할당을 해제
# 커널에 값을 직접 입력할 때
echo 3 > /proc/sys/vm/drop_caches

# sysctl 사용 시
sysctl -w vm.drop_caches=3

 

 

 

 

 

반응형