JVM没有释放虚拟内存。
JVM没有释放虚拟内存。
我的网络应用程序正在抛出OOM错误。它被赋予了25GB的内存。应用程序已经被加载并测试过了,我们发现内存正在不断升高。但是我希望在完整的垃圾回收后JVM会释放内存。为什么即使应用程序被使用后,JVM仍然不释放虚拟内存?
以下是JVM设置:
-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/logs/gcc.log -XX:MaxPermSize=96m -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:+UseCompressedOops -XX:+UseCompressedStrings -Xmx30g
以下是“top”命令的输出:
top - 02:09:42 up 117 days, 5:24, 4 users, load average: 0.00, 0.01, 0.05Tasks: 140 total, 1 running, 139 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 62167808k total, 60854992k used, 1312816k free, 73444k buffers
Swap: 0k total, 0k used, 0k free, 17789504k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND17206 java 20 0 55.1g 40g 12m S 0.3 68.2 298:41.08 java
以下是“free”命令的输出:
total used free shared buffers cachedMem: 62167808 60855448 1312360 0 73592 17789532
-/+ buffers/cache: 42992324 19175484
Swap: 0 0 0
请提供任何解决此问题的线索。
admin 更改状态以发布 2023年5月21日