【问题标题】:Can I configure Linux swap space on AWS Elastic Beanstalk?我可以在 AWS Elastic Beanstalk 上配置 Linux 交换空间吗?
【发布时间】:2016-07-07 06:27:48
【问题描述】:

我可以为 AWS Elastic Beanstalk 环境配置 Linux 交换空间吗?

我在控制台中没有看到它的选项。从我的环境中运行实例上的/proc/meminfo 来看,MemAvailable 看起来很低,尽管Inactive 的值很高。我怀疑有一些休眠的后台进程不会对分页造成伤害,并且会释放我正在使用的t2.nano 上有限物理内存的重要部分。

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk swapfile


    【解决方案1】:

    我想出了如何使用我的 Tomcat Web 应用程序中的 .ebextensions 配置文件夹来做到这一点。

    添加文件.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 实例上换出 150MiB,该实例运行具有默认堆选项的 Elastic Beanstalk Java Tomcat 平台。从我所见,应用程序运行时没有正在进行的分页。看起来一些休眠数据已被推送到交换,并且页面缓存明显更大(从 30MiB 增加到 180MiB)。

    【讨论】:

      猜你喜欢
      • 2020-10-18
      • 2021-01-22
      • 2018-11-18
      • 2021-09-30
      • 2017-09-20
      • 2017-02-28
      • 2020-08-27
      • 2017-05-21
      • 2016-12-08
      相关资源
      最近更新 更多