【问题标题】:All RAM usage getting exhausted for java projectjava项目的所有RAM使用都耗尽了
【发布时间】:2016-06-09 06:02:54
【问题描述】:

我的项目是基于spring框架java的。我的应用程序的战争大小约为 38mb。我将我的应用程序托管在具有 1 GB RAM 的 vps 上。几天之内,我就知道所有 RAM 都快用完了。

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

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

这是正常行为还是有什么问题? 还是我需要做任何设置?

谁能告诉我普通 java 项目使用了多少 RAM..

我通过“free -m”命令检查了 vps ram 的使用情况,它显示 -/+ 缓冲区/缓存为 557 [used ] 1444 [free] Mem 值也是 2001[total] 1736[used] 265[free] 38[shared] 130[buffers] 1048[cached]

【问题讨论】:

  • 应用程序需要多少内存是高度依赖于应用程序的。但是我有一个应用程序,它可以在两天内将所需的 ram 加倍而没有负载,并且您不知道原因(例如缓存可能是一个有效的原因)。那么我会说这是不正常的,我强烈建议调查这个问题(可能是某种内存泄漏)!
  • @Relph:我通过“free -m”命令检查了 vps ram 的使用情况,它显示 -/+ 缓冲区/缓存为 557 [已使用] 1444 [免费]。这是什么意思?

标签: java spring tomcat garbage-collection vps


【解决方案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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2022-01-17
      • 1970-01-01
      • 2020-03-27
      • 1970-01-01
      • 2023-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-03
      相关资源
      最近更新 更多