Можно ли настроить пространство подкачки 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 МБ).

Другие вопросы по тегам