はじめに
EC2でJenkinsを実行中に微妙にメモリが足りなくて、memory allocation error
でジョブが失敗することがありました。
稀な実行ジョブのためにインスタンスタイプを変えるのもしゃくなので、スワップ領域を作成して対処することにしました。
実施手順
現在のスワップ領域を確認
$ grep Swap /proc/meminfo
SwapCached: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
1GiBのスワップ領域を作成
$ sudo dd if=/dev/zero of=/swapfile bs=100M count=10
スワップファイルの読み書きのアクセス許可を更新
$ sudo chmod 600 /swapfile
Linux スワップ領域のセットアップ
$ sudo mkswap /swapfile
スワップ領域にスワップファイルを追加して、スワップファイルを即座に使用できるようにする
$ sudo swapon /swapfile
手順が正常に完了したか確認
$ sudo swapon -s
/etc/fstab
ファイルを編集して、起動時にスワップファイルを有効にする
$ sudo vi /etc/fstab
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
+ /swapfile swap swap defaults 0 0
終わったか確認する
grep Swap /proc/meminfo
SwapCached: 0 kB
SwapTotal: 1023996 kB
SwapFree: 1023996 kB
以上でした。