`$ free -h` 명령으로 확인했을 때 메모리 사용률은 낮은데 이상하게 캐시 메모리의 사용이 높은 경우가 있습니다.
이 경우에는 캐시 메모리를 비워주어 해결할 수 있습니다.
캐시 메모리를 사용한다면 자주 사용되고 있는 프로그램들의 값들을 캐시에 저장하여 사용하기에 메모리 접근 속도를 높일 수 있지만, 다른 프로그램에서 메모리 사용률을 확보하지 못하는 문제가 발생할 수 있습니다.
따라서 주기적으로 캐시 메모리를 비워 메모리를 확보해 주는 것이 좋을 것 같습니다.
※ 주의 : 캐시메모리를 비워주지 않을시에 사이트 로딩속도가 아주 느려지는 상황이 발생된다.
→ 서버 캐시메모리 비우기 : $ sync && echo 3 > /proc/sys/vm/drop_caches
→ 크론탭 등록 : 0 1 * * * sync && echo 3 > /proc/sys/vm/drop_caches
(매일 새벽 1시에 캐시메모리 자동 비우기 등록)
이 명령어를 사용하면 캐시 메모리를 비울 수 있고, 메모리 여유 공간을 확보할 수 있습니다.
위 명령에 대해 좀 더 자세히 확인해보자면, 아래와 같습니다.
- pagecache 해제
$ echo 1 > /proc/sys/vm/drop_caches
- dentries, inodes 해제
$ echo 2 > /proc/sys/vm/drop_caches
- pagecache, dentries, inodes 모두 해제
$ echo 3 > /proc/sys/vm/drop_caches
- 플러싱하기
$ sync
메모리가 부족한 상황은 일반적으로 특정 프로세스에서 과도하게 사용하거나 캐시 메모리에서 많이 사용하고 있는 경우입니다.
이 외의 경우는 아직 경험해 보지 못하였으나, 시스템 로그 / 메모리 확인 / 앱의 상태 확인 등의 방법을 통해 차근차근 접근한다면 충분히 해결할 수 있을 것입니다.
...[더 보기]