背景:
Windows Server 2012 R2- 64 bit
16 GB RAM
Tomcat 8
Java 8
我在Tomcat 8上运行java应用程序。我面临着高内存使用问题。内存使用率高达95%,服务器崩溃。 CPU使用率没问题。
我在tomcat\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。
有什么想法吗?
感谢。
答案 0 :(得分:0)
问题在于我们使用的VM。有一些更新过程用于保持VM忙碌。