我有一个应用程序以适当的速度泄漏 Java 堆(400 个用户在 2 小时后留下 25% 的空闲空间……注销后所有内存都恢复了),我们已经将导致内存泄漏的项目确定为放置在会话中的字符串似乎是由 Portal 本身生成的。这些值是编码的门户 URI(非常长的结束编码字符串......通常大小约为 19kb),而键似乎是七 (7) 个随机生成的字符,前缀为RES#
(例如,RES#NhhEY37
)。
我们已经使用会话跟踪和捕捉 heapdump 逐步完成了应用程序,这导致确定几乎每个页面上都有这些对象中的一个被创建并添加到会话中……事实上,似乎每个页面上都有提交数据(这是大多数页面)。因此,通常是 1:1 的页面,或者 1:1 的表单。
有没有人遇到过类似的问题?我们正在向 IBM 开票,但也想询问这个社区。提前致谢!