【发布时间】:2011-01-05 11:31:06
【问题描述】:
尝试使用 VisualVM 1.3 调试 java 程序(在 linux 64 位上运行)中的内存泄漏。
我注意到,每次单击 VisualVM Monitor 选项卡中的“Perform GC”按钮后,旧代内存池的“used”值都会上升……这似乎很违反直觉……
如果“Perform GC”确实触发了只针对年轻代的 GC(因为某些对象可以从年轻代迁移到老代),那将是有意义的......但在完整 GC 的情况下则不然。
有没有人遇到过这种情况?谢谢。
例如。 1) OldGen 初始状态:
峰值使用 已提交:1431 Mb 初始化:1431 MB 最大:1431 Mb 使用:98Mb
用法 已提交:1431 Mb 初始化:1431 MB 最大:1431 Mb 使用:98Mb
2) 执行 GC
3) 新状态:
峰值使用 已提交:1431 Mb 初始化:1431 MB 最大:1431 Mb 使用:105Mb
用法 已提交:1431 Mb 初始化:1431 MB 最大:1431 Mb 使用:105Mb
【问题讨论】: