본문 바로가기

서버운영 (TA, ADMIN)/미들웨어

[서버관리] SWAP 메모리 추가 할당

개발서버에서 애플리케이션 서버 2대에 버전관리서버, CI서버까지 동시에 구동하다 보니 간혹 버전관리서버에 소스코드가 업로드 될때나 CI서버에서 메모리 점유율이 높은 작업이 진행될때 우선순위가 낮은 작업이 중단되는 현상이 가끔 일어나곤 했습니다. 에러메시지를 가지고 원인을 찾다보니 할당된 SWAP 메모리가 부족할 경우, 그러한 현상이 일어난다고 합니다.


그럼 앞으로 이러한 문제가 다시 생기지 않도록 swap 메모리를 추가할당하는 방법을 알아보도록 하겠습니다.


[root@localhost ~]# dd if=/dev/zero of=/home/swapfile bs=1024 count=1000000

1000000+0 records in

1000000+0 records out

1024000000 bytes (1.0 GB) copied, 13.421 s, 76.3 MB/s


위와 같은 방법으로, 일반 디스크에 추가 swap 메모리를 할당할 영역을 생성해줍니다. 그리고 아래는 해당 영역을 swap 메모리 영역으로 지정하는 방법입니다.


[root@localhost ~]# mkswap /home/swapfile

Setting up swapspace version 1, size = 999996 KiB

no label, UUID=24fbd019-74fb-4742-a0d8-0eaeea765663

[root@localhost ~]# swapon /home/swapfile

swapon: /home/swapfile: insecure permissions 0644, 0600 suggested.


이제 swap 메모리 할당이 끝났습니다. 간단한데, 이제서야 이런 설정을 하네요. swap 메모리가 잘 할당되었는지는 swap -s, free 명령어를 통해서 확인 가능합니다.


[root@localhost ~]# swapon -s, free

Filename                                Type            Size    Used    Priority

/dev/sda5                               partition       2097148 1874336 -1

/home/swapfile                          file    999996  0       -2


리부팅이 되면 수동으로 할당한 swap 영역이 swap 메모리로 인식되지 않는데요. /etc/rc.d/rc/local 파일을 수정하여, 부팅될때마다 해당영역이 메모리로 인식되도록 옵션을 추가하면 관련된 모든 설정이 마무리됩니다.