[Amazon Lightsail] 低スペックでも、スワップ領域のチューニングで大幅改善(Spring)
Amazon Lightsailはリーズナブルなため導入しやすいのですが、メモリ1GBの低スペックプランで、Springなどのサーバーサイド処理を搭載しようとすると、CPU、メモリが高負荷状態となり、すぐにサーバーダウンしてしまいます。。
リーズナブルな低スペックプランで、サーバーサイド処理が搭載できないものかと色々と模索したところ、スワップ領域を調整することでメモリ1GBでもSpringをわりと快適に動作させることができましたので、当記事ではスワップ領域についてや、スワップ領域の変更手順について整理していきたいと思います。
ストレージ40GB、メモリ1GBの場合、スワップ領域はどの程度あげるのが良いか?
Amazon Lightsailにて、ストレージ40GB、メモリ1GBのプランのものを使用していますが、このスペックの場合、どの程度のスワップ領域とするのが妥当かをChatGPTに聞いてみようと思います。
ChatGPTの回答
スワップ領域の設定変更手順
スワップ領域を2GBにする設定変更手順をChatGPTにレクチャーしてもらいながら、見ていきます!
0.現状のスワップ領域を確認
free -m
total used free shared buff/cache available
Mem: 950 246 121 1 582 563
Swap: 634 147 487
1. スワップファイルの作成
まず、新しいスワップファイルを作成します。(以下の例は2GB)
サイズは変更可能です。
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
2. スワップファイルのパーミッション設定
作成したスワップファイルの権限を変更します。
sudo chmod 600 /swapfile
3. スワップファイルの設定
sudo mkswap /swapfile
4. スワップファイルを有効化
sudo swapon /swapfile
5. 永続化の設定
再起動後もスワップが有効になるようにするため、/etc/fstab ファイルにスワップファイルを追加します。
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
6. 設定確認
以下のコマンドでスワップ領域が増えていることを確認できます。
free -m
total used free shared buff/cache available
Mem: 950 200 71 1 678 602
Swap: 2682 158 2524
おわりに
最後まで読んでいただき、ありがとうございました!
当初、メモリ4GBのプランに変更しようと思いましたが、追加プランの契約に伴い、サービスクォータの引き上げリクエストが必要とことで、これがよくわからず申請にも時間がかかり、待ち時間に試しでスワップ領域の変更をしてみたところ、プラン変更せずともSpringを動かすことが実施できましたのでラッキーでした!
Springで、重たい処理を実施すると怪しい感じはしますが、色々試してみることが大事ですね。