Можно ли настроить пространство подкачки Linux на AWS Elastic Beanstalk?
Могу ли я настроить пространство подкачки Linux для среды AWS Elastic Beanstalk?
Я не вижу опции для этого в консоли. Смотря на /proc/meminfo
на моих запущенных экземплярах в моей среде MemAvailable
выглядит довольно низким, несмотря на то, что довольно высокий Inactive
ценности. Я подозреваю, что есть несколько бездействующих фоновых процессов, которые не причинят вреда, и освободят нетривиальную часть ограниченной физической памяти на компьютере. t2.nano
Я использую.
1 ответ
Я понял, как это сделать, используя .ebextensions
Папка конфигурации в моем веб-приложении Tomcat.
Добавить файл .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
Через некоторое время это позволило заменить 150 МБ на моем t2.nano
экземпляр, который запускает платформу Elastic Beanstalk Java Tomcat с параметрами кучи по умолчанию. Из того, что я вижу, пока нет запуска страницы во время работы приложения. Похоже, что некоторые неактивные данные были вытеснены для подкачки, а кеш страниц значительно увеличен (с 30 МБ до 180 МБ).