AWS Elastic Beanstalk Tomcat - 内存使用率高
Posted
技术标签:
【中文标题】AWS Elastic Beanstalk Tomcat - 内存使用率高【英文标题】:AWS Elastic Beanstalk Tomcat - high memory usage 【发布时间】:2017-01-03 19:44:22 【问题描述】:我有 t2.nano
(512MB RAM) Elastic Beanstalk 实例,但即使在重新启动(应用服务器)并且只有几个请求之后,我开始收到 93 % of memory is in use.
警告,然后实例停止响应,直到它自行重新启动。
当我重新启动实例并运行 watch -n 1 free -m
时,我得到以下信息
Every 1.0s: free -m Sat Aug 27 14:15:19 2016
total used free shared buffers cached
Mem: 491 485 5 0 6 91
-/+ buffers/cache: 387 103
Swap: 0 0 0
这意味着在 512MB 中,我只有大约 100MB 可供使用,还是?
在我的本地主机上一切正常。我正在寻找内存泄漏,但无法确定问题出在哪里,因为在我的开发机器上一切正常(数百个请求后的堆转储通常
我将Tomcat 8
与Java 8
、Servlet 3.0
和Hibernate + JPA
一起使用。
不知道该怎么做?
【问题讨论】:
你的 localhost 有多少内存,t2.nano 实例有多少内存? 512MB。我还更新了 localhost 解释 - 内存不会超过 50MB。本地主机是 8GB RAM。 嗯,这只是一个小例子。 1) 尝试将最大内存分配修改为 -Xms128m -Xmx128m 2) 你可以尝试在 t2.small 上运行它,至少作为一个实验吗? 我不确定 1) 会起作用 - 我用新启动的实例更新了答案,watch -n 1 free -m
命令 2) 会尝试,尽管我期待相同的模式(可用内存只是减少了随着请求的到来)
【参考方案1】:
在部署应用程序之前尝试添加一些交换空间。
dd if=/dev/zero of=/var/swapfile bs=1M count=512
mkswap /var/swapfile
chmod 0600 /var/swapfile
swapon /var/swapfile
【讨论】:
以上是关于AWS Elastic Beanstalk Tomcat - 内存使用率高的主要内容,如果未能解决你的问题,请参考以下文章
AWS Elastic Beanstalk CLI 安装错误