【发布时间】: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) 会尝试,尽管我期待相同的模式(可用内存只是减少了随着请求的到来)
标签: java amazon-web-services tomcat amazon-elastic-beanstalk