我们有一个在 Ubuntu Server 12.04 和 java 上运行的应用程序。
java -版本返回:
java版本“1.7.0_40”
Java(TM) SE 运行时环境 (build 1.7.0_40-b43)
Java HotSpot(TM) 64 位服务器 VM(内部版本 24.0-b56,混合模式
我们还有其他具有相同技术但没有问题的应用程序。
服务器信息:内存:2G 操作系统:Ubuntu Server 12.04 Nb CPU:2
应用程序语言是 scala。
运行一段时间后,JVM 似乎进入休眠状态。一个 CPU 继续以 100% 的速度旋转。
JVM 选项:
-Xms1g -Xmx1g -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:-DisableExplicitGC -XX:CMSFullGCsBeforeCompaction=1 -XX:+CMSClassUnloadingEnabled -XX:+CMSIncrementalMode -XX:MaxGCPauseMillis=1500 -XX:GCTimeRatio=9 -XX:CMSInitiatingOccupancyFraction=50 -XX:-UseGCOverheadLimit -XX:MaxHeapFreeRatio=60
使用 jstat -gcutil [PID],我看到 FGC 增长很快。
你有这个问题的想法吗?
谢谢