본문 바로가기

OS/Linux

Linux - 캐시 메모리 비우기

728x90

캐시 메모리란?

리눅스에서는 시스템 성능을 최적화하기 위해 캐시 메모리를 사용합니다. 캐시 메모리는 자주 접근하는 데이터를 디스크에서 읽어오는 대신 메모리에 저장하여, 더 빠르게 접근할 수 있도록 도와주어 시스템 성능을 향상시키는 역할을 합니다.

 

캐시 메모리의 종류

  1. 페이지 캐시 (Page Cache): 파일의 내용을 캐시 하여 디스크에서 읽어오는 시간을 줄여줍니다. 자주 사용되는 파일 데이터를 메모리에 저장하여 파일 접근 속도를 빠르게 합니다.
  2. inode 캐시 (Inode Cache): 파일 시스템의 메타데이터를 캐시 합니다. inode는 파일이나 디렉터리의 크기, 소유자, 권한 등의 정보를 저장하며, 이 캐시를 통해 이러한 정보를 더 빠르게 읽어올 수 있습니다.
  3. dentry 캐시 (Dentry Cache): 파일 이름과 inode 정보를 매핑하여 저장하는 데이터 구조를 캐시 합니다. 파일 경로명을 통해 inode를 빠르게 찾을 수 있어 파일 시스템의 탐색 속도를 높여줍니다.

 

캐시 메모리를 비우는 방법

# 파일 시스템 버퍼를 디스크에 동기화
sudo sync

# 페이지 캐시 비우기
sudo sh -c 'echo 1 > /proc/sys/vm/drop_caches'

# inode와 dentry 캐시 비우기
sudo sh -c 'echo 2 > /proc/sys/vm/drop_caches'

# 페이지 캐시, inode, dentry 캐시 모두 비우기
sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'

 

캐시 메모리를 비우는 것의 장·단점

장점

  • 메모리 해제 : 즉각적으로 사용 가능한 메모리를 확보할 수 있습니다.
  • 테스트 및 디버깅 : 메모리 누수나 성능 문제를 확인할 수 있습니다.

단점

  • 성능 저하 : 캐시 메모리를 삭제하면 데이터에 다시 접근할 때 디스크를 읽기 때문에 성능 저하가 발생합니다.
  • 재캐싱 오버헤드 : 캐시를 다시 채우는 데 추가적인 시스템 자원이 소모됩니다.

 

왜 캐시 메모리를 비워야 하는가?

  1. 메모리 누수 확인: 메모리 누수가 발생하는지 확인하기 위해 사용합니다.
  2. 시스템 성능 테스트: 테스트의 일관성을 유지하기 위해 초기 상태를 확보합니다.
  3. 일시적 성능 문제 해결: 메모리 부족으로 인한 성능 저하를 해결할 수 있습니다.
  4. 특정 작업 전 준비: 중요한 작업 전에 메모리를 최적화합니다.
  5. 메모리 사용 최적화: 장기적으로 메모리 사용을 효율화합니다.
728x90
반응형