이전 글에서는 컴퓨터 자원과 그 사용량을 확인할 수 있는 명령어를 알아보았다.
서버에 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
반응형
'Devops > Linux' 카테고리의 다른 글
[Linux] 네트워크 사용량 모니터링 (0) | 2024.11.17 |
---|---|
[Linux] Tcpdump로 네트워크 인터페이스 패킷 확인 (0) | 2024.11.16 |
[Linux/Ubuntu] txt / yaml 등의 파일 문자열 치환(변경) (0) | 2023.08.26 |
[Linux/Ubuntu] 메모리 / 디스크 / 디렉토리 용량 확인 (0) | 2023.07.21 |
[Ubuntu/AWS] 스토리지 확장 적용 (0) | 2023.06.29 |