리눅스에서 스왑 파티션의 크기 결정하기

리눅스를 설치할 때 스왑 파티션의 크기를 얼마로 잡을 지 많은 의견이 있다. 예전부터 내려오는 메모리의 2배에서부터 요즘은 메모리가 충분히 커서 그렇게 많이 낭비할 필요없다는 의견까지 다양하다. 나도 여러 개의 랩탑과 데스크탑에 리눅스를 설치해 오면서 나름대로 스왑 파티션의 크기를 정해 왔으나 공식 같은 것은 없었다. 대충 감으로 크기를 설정하면 문제없이 잘 돌아갔다. 이번에 새로 생긴 중고 씽크패드 W520에 슬랙웨어를 설치하면서도 별생각 없이 똑같은 8GB 메모리의 씽크패드 X201을 따라서 10GB의 스왑 파티션을 생성했다. 조만간 이 랩탑의 메모리를 32GB로 업그레이드를 할 생각을 하니 하이버네이션이 제대로 안 될 지도 모르겠다는 생각이 들었다. 스왑 파티션의 크기가 메모리의 크기보다 작아지기 때문이다. /sys/power/image_size 파일을 통해서 이미지 파일의 크기를 제한할 수 있다고는 하지만 하이버네이션이 실패할 수도 있다. 그래서 나만의 스왑 파티션 공식을 만들어 보기로 하고 지금 가지고 있는 시스템의 메모리와 스왑 파티션의 크기를 정리해 봤다. 뭐 세 개 밖에 없지만.

시스템메모리스왑 파티션하이버네이션 여부스왑 파티션/메모리 비율
씽크패드 X2018GB10GB1.25
씽크패드 W5208GB10GB1.25
씽크스테이션 S2048GB30GB아니오0.625

24 시간 돌아가는 씽크스테이션 S20은 하이버네이션이 필요 없는 시스템이다. 이 시스템의 스왑 파티션/메모리 비율인 0.625가 우연히 두 씽크패드의 비율 1.25의 반이다! 난 이런 거 좋아한다. 그래서 스왑 파티션의 크기는 다음과 같이 나만의 공식으로 정립할 수 있었다.

하이버네이션 여부스왑 파티션의 크기
메모리의 1.25배
아니오의 반 (메모리의 0.625배)

이 공식을 이용한 최종 스왑 파티션의 크기는 다음과 같다.

시스템메모리스왑 파티션하이버네이션 여부스왑 파티션/메모리 비율
씽크패드 X2018GB10GB1.25
씽크패드 W5208GB10GB1.25
씽크패드 W52032GB40GB1.25
씽크스테이션 S2048GB30GB아니오0.625

씽크패드 W520의 메모리를 업그레이드한 후 스왑 파티션이 40GB나 되지만 적어도 하이버네이션이 실패할 일은 없을 것이다.

참고문헌

이 칸을 비워 두세요.