리눅스 swap 메모리 초기화 하기

서버의 RAM 용량이 차게 되면 자동으로 swap 메모리가 사용 됩니다. swap는 하드 디스크 메모리를 swap 메모리로 만들기 때문에 서버의 속도 뿐만 아니라 사이트의 속도도 느려지게 됩니다.

커뮤니티 사이트를 운영하면서 사이트뿐만 아니라 텔넷도 상당히 느려져 호스팅 업체에 문의 한 적이 있는데, 그때 받았던 답변이 swap 메모리 사용량이 높아져 이것 때문에 서버와 텔넷 접속속도가 느려진 것이었습니다.


Swap 메모리 초기화 하기


먼저 서버 메모리의 상태를 확인합니다.

# free -m

free 명령어를 사용해 메모리 상태를 확인합니다. 이때 -b,-k,-m-g로 메모리 용량의 단위를 나타낼수 있습니다.

-b: byte

-k:kb

-m:mb

-g:gb


노란색상자 부분이 Swap 메모리 부분입니다. 빨간색상자 부분이 메모리 사용량을 나타내는 부분입니다.

이때 swap 메모리가 사용됨이 확인 되었고, 후에 메모리 가ㅎ고 용량이 늘어도 swap 메모리는 줄지 않고 그대로라면 swap 메모리 초기화를 해주시는게 좋습니다.


swap 메모리 비활성화

# swapoff -a

swap 메모리 활성

# swapon -a


swap 메모리 설정

# cat /proc/swaps 


제 서버의 경우 약 4gb의 용량이 swap 메모리로 설정되어 사용되고 있는걸 확인 하실수 있습니다.

자신의 서버에 할당된 swap 메모리 용량이 높거나 낮으시면 이 값을 변경하시면 됩니다. *아파치 재시작 필요


swap 메모리 사용빈도 설정

서버 swap 메모리 사용빈도 확인

# sysctl vm.swappiness  또는

# cat /proc/sys/vm/swappiness

vm.swappiness = 60 *기본값은 60 입니다.

이 값이 100에 가까울수록 swap를 최대한 쓰겠다 

이 값이 0에 가까울수록 swap를 최대한 쓰지 않겠다

이니 swap 메모리를 많이 사용하실분은 숫자를 높게, 사용하지 않으실 분은 숫자를 낮게 설정 하시면 됩니다.

swap 메모리를 사용하지 않으려면 먼저

# vi /etc/sysctl.conf 

sysctl.conf에서 vm.swappiness=0 설정을 추가하고 

echo 0 > /proc/sys/vm/swappiness

명령어를 이용해서 적용 하시면 됩니다.


참조 사이트

http://forums.gentoo.org/viewtopic.php?t=175419


저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License