我正在处理以下设置:
OS CentOS release 6.4 (Final)
Memory 1024MB
CPU 1 × 2.4 Ghz @ 80%
Glassfish GlassFish Server Open Source Edition 3.1.2.2 (build 5)
我知道这只是一个内存有限的小型设置,尽管它应该足够了。
这是我的问题(我知道,已经写了很多):
经过一段时间的使用,我的记忆似乎堵塞了。这导致挂起的 Glassfish,meminfo
显示如下:
MemTotal: 1030772 kB
MemFree: 158488 kB
Buffers: 3204 kB
Cached: 16340 kB
SwapCached: 7100 kB
Active: 413424 kB
Inactive: 410252 kB
top
显示:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2380 root 20 0 860m 658m 6028 S 99.8 65.4 170:58.30 java
结论
我的 Glassfish 服务器会在一段时间后使用所有资源。我也不确定 CPU 堵塞的原因,但我怀疑这与垃圾收集有关。
我的问题是,我怎样才能防止这种情况发生?我应该配置我的 GC,如果是,如何配置?