如何在Java / Seam Web应用程序中配置会话内存使用情况?

时间:2009-08-01 21:25:16

标签: java-ee profiling seam memory-management

是否有任何方法/工具来分析Java Web应用程序中的每会话内存使用情况?

更具体地说,我正在使用Seam,我有一些特定于用户或用户当前会话的对象,因此它们被设置为存储在用户的会话中。

前段时间我的应用程序在达到一定数量的用户时会耗尽内存,所以我将各种事情移出会话并进行分析,直到我将内存记录下来。但是,内存测量是在JVM级别。我真的很喜欢监视会话级别的内存使用情况,不包括任何非会话内存使用情况。

很高兴:

  • http会话的总内存使用量(我可以将其与整个应用程序内存使用情况进行比较)
  • 每会话内存使用量,甚至是平均值。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

我经常使用Eclipse Mat来诊断类似的问题。如果您有大会话,会话管理器将显示在“Dominator Tree”报告中。您可以通过会话和应用程序的其他部分轻松区分总内存使用情况。

您可以深入查看各个会话,并查看每个会话使用了多少内存。您还可以打开每个单独的会话并检查会话中的每个对象。

查看MAT提供的其他报告也是一个好主意。有时结果令人惊讶 - 例如我们遇到内存使用问题,结果证明是JRE类加载器问题。