所有RAM使用都因java项目而耗尽

时间:2016-02-26 06:04:57

标签: java spring tomcat garbage-collection vps

我的项目基于spring框架java。我的应用程序的战争大小约为38mb。我在vps上托管了我的应用程序,内存为1 GB。在几天之内,我知道所有RAM都已经筋疲力尽了。

然后我将RAM扩展1GB。现在单个war文件正在使用tomcat服务器处理2 GB RAM。 2-3天后,我检查了2gb RAM也用尽了,显示出大约80%到90%的使用率。

目前,系统正在开发中,没有人使用应用程序仍然使用所有RAM。

这是正常行为还是有问题? 或者我需要进行任何设置吗?

任何人都可以告诉我正常java项目使用了多少RAM ..

我通过' free -m'检查了vps ram的使用情况。命令,显示 - / + buffers / cache为557 [used] 1444 [free] Mem值也是2001 [总] 1736 [使用] 265 [免费] 38 [共享] 130 [缓冲] 1048 [缓存]

2 个答案:

答案 0 :(得分:1)

在我看来,通常它需要1GB RAM用于小型Java应用程序。如果有任何无限循环或任何调度程序永远在运行,您需要查看代码。

答案 1 :(得分:1)

除了无限循环外,还要检查内存泄漏以及与不发布数据库链接等资源相关的问题。请参阅社区报告的类似问题,如下所示

Why is this Java program taking up so much memory?

How to reduce Spring memory footprint

http://www.toptal.com/java/hunting-memory-leaks-in-java