리눅스에서 메모리 캐시를 삭제하는 방법(cache flush)
Linux에서 메모리 캐시를 수동으로 삭제하는 것은 일반적으로 권장되지 않습니다. 메모리 캐시는 시스템 성능을 최적화하고 응용 프로그램의 실행을 가속화하는 데 도움을 주기 때문입니다. 그러나 특정 상황에서 메모리 캐시를 명시적으로 삭제해야 하는 경우가 있을 수 있습니다. 이를 수행하기 위한 몇 가지 방법이 있습니다.
참고: 메모리 캐시를 무분별하게 삭제하면 시스템 성능에 부정적인 영향을 미칠 수 있으므로 주의해서 사용해야 합니다.
1. 메모리 캐시를 비워주는 명령어
sync 명령을 사용하여 디스크에 쓰기 작업을 수행한 후 메모리 캐시를 비울 수 있습니다.
sync
2. 메모리 캐시를 삭제하는 방법
메모리 캐시를 수동으로 삭제하려면 /proc 파일 시스템을 사용할 수 있습니다. 이것은 비권장되는 방법이며 주의가 필요합니다.
- 메모리 캐시 삭제
echo 1 > /proc/sys/vm/drop_caches
(또는)
sudo sync && echo 1 | sudo tee /proc/sys/vm/drop_caches
위 명령은 페이지 캐시만 비웁니다. 페이지 캐시와 관련된 메모리 페이지를 삭제합니다.
- dentries와 inodes 삭제
echo 2 > /proc/sys/vm/drop_caches
(또는)
sudo sync && echo 2 | sudo tee /proc/sys/vm/drop_caches
$ free -g
total used free shared buff/cache available
Mem: 30 0 18 0 11 29
Swap: 0 0 0
위 명령은 dentries 및 inodes 캐시도 비웁니다.
- 전체 메모리 캐시 삭제
echo 3 > /proc/sys/vm/drop_caches
(또는)
sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
$ free -g
total used free shared buff/cache available
Mem: 30 0 29 0 0 29
Swap: 0 0 0
위 명령은 페이지 캐시, dentries 및 inodes를 모두 비웁니다.
이 명령들은 /proc/sys/vm/drop_caches 파일에 특정 값을 기록하여 작동합니다. 값 1은 페이지 캐시를 해제하고, 값 2는 dentry와 inode를 해제하며, 값 3은 페이지 캐시, dentry, inode를 모두 해제합니다. sync 명령은 캐시를 해제하기 전에 모든 보류 중인 디스크 쓰기 작업이 완료되도록 보장합니다.
메모리 캐시를 삭제하면 다음과 같은 효과가 있습니다.
- 메모리 사용량이 감소합니다.
- 디스크 I/O가 증가합니다.
- 성능이 향상될 수 있습니다.
메모리 캐시를 삭제하는 이유는 다음과 같습니다.
- 메모리 부족으로 인해 시스템이 느려질 때
- 디스크 I/O를 줄여 성능을 향상시키고자 할 때
- 특정 파일이나 디렉토리에 대한 캐시를 삭제하고자 할 때
메모리 캐시를 삭제하는 것은 시스템에 부하를 줄 수 있으므로 주의해서 사용해야 합니다.
주의할 점은 메모리 캐시를 해제하는 것이 시스템 성능에 영향을 줄 수 있으며, 특별한 필요가 없는 경우에는 권장되지 않습니다. 리눅스 커널은 메모리 캐시를 효율적으로 관리하며, 시스템의 요구에 따라 자동으로 조절됩니다.
참고URL
- LinuxMM : Drop_Caches
'리눅스' 카테고리의 다른 글
[보안취약점] 리눅스 계정 잠금 임계값 설정 (0) | 2022.03.24 |
---|---|
CentOS 7에서 오라클 자바를 설치하는 방법 (0) | 2022.03.23 |
[리눅스] httpstat 웹 사이트 성능 확인 도구 (0) | 2022.03.23 |
chage 명령어 (0) | 2022.03.23 |
[보안취약점] 리눅스 패스워드 복잡성 설정 (0) | 2022.03.23 |