VPSを借りるとスワップパーティションがないことがあります。
メモリが足りないとコマンド自体がうまく動かなかったり、サービスがメモリ不足でkillされたりすることがあるので、スワップ領域は欲しいところです。
スワップ用に使えるパーティションがないこともあるので、スワップファイルを作成して有効にする方法を紹介します。
ここでは、/swapfile
に2GBのスワップファイルを作成することにします。
dd if=/dev/zero of=/swapfile bs=1M count=2048 mkswap /swapfile chmod 600 /swapfile
次に、作成したスワップファイルを有効にしてswapon -s
やfree
コマンドで確認します。
# swapon /swapfile # swapon -s Filename Type Size Used Priority /swapswapfile file 2097144 0 -1 # free total used free shared buffers cached Mem: 1020400 292632 727768 0 79468 129184 -/+ buffers/cache: 83980 936420 Swap: 2097144 0 2097144
次回、サーバ起動時にも有効になるようにfstabに記述をしておきます。
念のため、サーバを再起動してもスワップが有効になるか確認することを推奨します。
vi /etc/fstab ------------------------------------- /swapfile swap swap defaults 0 0 -------------------------------------
スワップファイルのバーミッションについての警告
CentOS 7の場合は、swaponの実行時に、スワップファイルのパーミションについて次の様な警告が出ることがあります。
swapon: /swapfile: insecure permissions 0644, 0600 suggested.
念のため一旦swapoffでスワップを無効化してから、スワップファイルを推奨のパーミッションである0600
に変更し、改めてswaponを実行するとよいでしょう。
swapoff /swapfile chmod 0600 /swapfile swapon /swapfile