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 8Java 8Servlet 3.0Hibernate + 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 安装错误

text AWS Elastic Beanstalk

HTTPS Elastic Beanstalk (AWS) 到 Android

AWS Elastic Beanstalk 无法担任角色

AWS Elastic Beanstalk

AWS Elastic Beanstalk chown PythonPath 错误