swapfileの追加¶
「さくらのVPS」の標準OSで swapfile を利用する方法について記載しています。 記載内容は、標準OSの仕様変更により、変更される事がございますので、参考情報としてご活用ください。
対象の標準OS¶
「さくらのVPS」の標準OSのうち、次の標準OSが対象となります。 カスタムOSや、記載の無い標準OSでは異なりますのでご注意ください。
Ubuntu 20.04 (2022/10/05 以降に再インストールし、かつ、 SWAP パーティションが存在しない場合のみ)
swapfileの追加¶
論理ボリュームマネージャを用いない場合、お客様によるスワップ容量の変更が容易で無い為、一部、スワップパーティションを含まないイメージの提供を行っております。 お客様にて、必要に応じた容量のswapfileを設定ください。
注意
スワップによりストレージIOが増加する為、 リソース制限 に記載のIOPS制限にご注意ください。IOPS制限により性能が大幅に低下する場合、スワップを用いるのでは無く スケールアップ によるメモリ増量をご検討ください。
スワップが存在しない事を確認¶
次のコマンドを用いて、swaponコマンドの出力が無い事、freeコマンドで Swap total が 0 で有る事を確認し、システムにスワップが存在しない事を確認してください。
$ sudo swapon --show
$ free
total used free shared buff/cache available
Mem: 4009552 116404 3773976 8640 119172 3709308
Swap: 0 0 0
スワップファイルを作成¶
次のコマンドを用いて /swapfile を作成します。 作成する /swapfile に対し十分な空き容量(Avail)が存在する必要が有る為、事前に空き容量を確認します。
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda2 25G 1.1G 23G 5% /
ddコマンドのcountには、作成したいスワップの容量をMBで指定します。 次の例では、2GBのスワップが作成されます。
/swapfile を一般ユーザーが読めないように、パーミッションを適切に設定する必要が有ります。
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
スワップファイルの有効化¶
作成した /swapfile を指定し swapon コマンドを実行する事で、スワップが有効となります。
$ sudo swapon /swapfile
$ free
total used free shared buff/cache available
Mem: 4009552 88136 1639660 8640 2281756 3670732
Swap: 2097148 0 2097148
有効化できる事が確認できたら、 /etc/fstab に /swapfile のエントリを記載する事で、再起動後も /swapfile が有効となります。 /etc/fstab の編集前にはバックアップを取得する事をお勧めします。
$ sudo cp -p /etc/fstab /etc/fstab.org
$ echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab
/swapfile none swap sw 0 0
$ tail -1 /etc/fstab
/swapfile none swap sw 0 0
/etc/fstab の編集後は、再起動を行い、正常に起動しスワップが有効となっている事をご確認ください。