【发布时间】:2013-04-18 18:40:57
【问题描述】:
我正在使用AppDynamics 监控生产系统,但我们只是让系统缓慢爬行,几乎死机。就在此事件之前,AppDynamics 会在几分钟内显示所有 GC 活动(次要和主要类似)扁平线......然后恢复活力。
即使在系统超低负载期间,我们仍然会看到我们的 JVM 执行 一些 GC 活动。我们从来没有让它完全平坦并下降到 0。
另外 - 网络 I/O 与 GC/内存平坦线在同一时间发生平坦化。
所以我问:系统级别的某些东西会导致 JVM 冻结,或者导致其垃圾收集挂起/冻结吗?这是在 CentOS 机器上。
【问题讨论】:
-
“系统运行缓慢,几乎死机” 是否存在内存泄漏?
-
是的,我知道听起来是这样,但我们会看到可用内存量随着时间的推移而减少,但我们没有。不过绝对是个好主意。
-
我之前看到过类似你描述的事情,因为 Statement 对象从未关闭,并且在一段时间后填满了堆。使用 VisualVM 或任何您喜欢的工具来检查使用了大部分内存的内容,看看它是否在不断增长。
-
我们已经在非生产服务器上进行了同样的内存泄漏分析,但没有发现任何东西。我真的不认为这是内存泄漏......
标签: java garbage-collection jvm heap-memory appdynamics