7

AWS Elastic Beanstalk 環境用に Linux スワップスペースを設定できますか?

コンソールにそのオプションが表示されません。/proc/meminfo私の環境で実行中のインスタンスを見るとMemAvailable、非常に高いInactive値があるにもかかわらず、非常に低く見えます。ページアウトしても害がなく、t2.nano使用している上の限られた物理メモリの重要な部分を解放する、いくつかの休止中のバックグラウンド プロセスがあると思われます。

4

1 に答える 1

12

.ebextensionsTomcat 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 に増加)。

于 2016-03-20T20:42:13.137 に答える