본문 바로가기
PC/Linux

메모리 정리

by dragom 2017. 3. 25.
반응형

RedHat Enterprise Linux 5.2,6.4 / CentOS 6.4 에서 사용 중인 메모리 정리 코드 입니다.

워크스테이션을 딱히 필요하지 않으면 끄는 일이 없다보니
종종 램 부족 현상을 겪고는 합니다.

아래는 제가 램 정리를 목적으로 만든 bash script입니다.

실행에는 sudo 권한이 필요합니다.

#!/bin/sh
echo '============memory stat==================='
free -m

echo '=>Operating Sync before clean.'
sync
echo 'Did one.'
sync
echo 'Did two.'
sync
echo 'Did three times'
echo ' done.'
echo ' '
echo '->proceed drop_caches (pagecache/dentries/inodes)'
echo 3 > /proc/sys/vm/drop_caches
echo '->done'
echo '->result'
free -m
sync
echo '==============All done.================='


스크립트에 [ echo ]는 단순히 스크립트 실행 시 cmd창에 보여지는 내용입니다. 진행 과정 등을 보고자 넣었습니다.
[ free -m ]은 현재 메모리 상태를 MB단위로 보여주는 명령어 입니다.
[ sync ] 는 메모리에 있는 파일 중 아직 저장되지 않은 파일은 디스크에 저장하는 명령어로, 메모리 청소 전 혹시 모르는 상황에 대비해 앞뒤로 실행하고 있습니다.

핵심이 되는 [ echo 3 > /proc/sys/vm/drop_caches ] 는 3이라는 옵션을 drop_caches에 전달하는 명령어이며, drop_caches는 0~3까지의 옵션을 받습니다. (링크 참조)


저는 이 스크립트를 root 소유에 실행 권한을 추가해 놓고 필요할 때 실행시키기도 하지만,
cron에 매일 새벽 자동 실행되도록 등록해놓았습니다.

1. root 소유

 chown root:root 스크립트

2. 실행 권한 추가

chmod u+x 스크립트

3.cron 등록

crontab -e
분 시 일 월 요일 스크립트

반응형

댓글