0

背景

Windows Server 2012 R2- 64 bit
16 GB RAM
Tomcat 8
Java 8 

我在 Tomcat 8 上运行 java 应用程序。我面临着高内存使用问题。内存使用率高达 95%,服务器崩溃。CPU使用没有问题。

我正在设置 JAVA_OPTStomcat\bin\catalina.bat

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:PermSize=512m -XX:+UseParallelGC"

注意:XMS 和 XMX 是从 catalina UI 设置的。

我了解,Java 8 中没有 PermGen 概念,所以我在 JAVA_OPTS 下尝试了 -XX:MaxMetaspaceSize=512m

set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG% -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -XX:MaxMetaspaceSize=512m -XX:+UseParallelGC"

但没有运气。

有趣的事:

tomcat 进程使用的内存保持在 3.5 GB 左右,但内存使用量高达 15 GB。所有剩余的进程加起来只有 1 GB。我不知道哪个进程正在消耗剩余的 9-10 GB。

系统内存上升,这是快照。 任务管理器

有什么想法吗?

谢谢。

4

1 回答 1

0

问题出在我们使用的虚拟机上。有一些更新过程用于使 VM 保持忙碌。

于 2016-11-23T09:41:32.003 回答