AWS Elastic Beanstalk 環境用に Linux スワップスペースを設定できますか?
コンソールにそのオプションが表示されません。/proc/meminfo
私の環境で実行中のインスタンスを見るとMemAvailable
、非常に高いInactive
値があるにもかかわらず、非常に低く見えます。ページアウトしても害がなく、t2.nano
使用している上の限られた物理メモリの重要な部分を解放する、いくつかの休止中のバックグラウンド プロセスがあると思われます。
AWS Elastic Beanstalk 環境用に Linux スワップスペースを設定できますか?
コンソールにそのオプションが表示されません。/proc/meminfo
私の環境で実行中のインスタンスを見るとMemAvailable
、非常に高いInactive
値があるにもかかわらず、非常に低く見えます。ページアウトしても害がなく、t2.nano
使用している上の限られた物理メモリの重要な部分を解放する、いくつかの休止中のバックグラウンド プロセスがあると思われます。
.ebextensions
Tomcat Web アプリの config フォルダーを使用してこれを行う方法を見つけました。
ファイルを追加.ebextensions/swap.config
:
container_commands:
add-swap-space:
command: "/bin/bash .ebextensions/scripts/add-swap-space.sh"
ignoreErrors: true
ファイルを追加.ebextensions/scripts/add-swap-space.sh
:
#!/bin/bash
set -o xtrace
set -e
if grep -E 'SwapTotal:\s+0+\s+kB' /proc/meminfo; then
echo "Positively identified no swap space, creating some."
dd if=/dev/zero of=/var/swapfile bs=1M count=512
/sbin/mkswap /var/swapfile
chmod 000 /var/swapfile
/sbin/swapon /var/swapfile
else
echo "Did not confirm zero swap space, doing nothing."
fi
その他のドキュメント: http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-ec2.html
しばらくすると、t2.nano
これを実行すると、デフォルトのヒープ オプションで Elastic Beanstalk Java Tomcat プラットフォームを実行するインスタンスで 150MiB をスワップ アウトできるようになりました。私が見る限り、アプリケーションの実行中に進行中のページングはありません。一部の休眠データがスワップにプッシュされたようで、ページ キャッシュが大幅に大きくなっています (30MiB から 180MiB に増加)。