2

我在 Mojarra (JSF 2) 上构建了一个 Web 应用程序。该应用程序部署在 WebSphere 7 上。我的应用程序的会话使用率非常高。我使用视图范围的 bean,有些页面非常大。我的 web xml 配置为在会话中保留 5 个视图。

<context-param>
  <param-name>com.sun.faces.numberOfViewsInSession</param-name>
  <param-value>5</param-value>
</context-param>
<context-param>
  <param-name>com.sun.faces.numberOfLogicalViews</param-name>
  <param-value>5</param-value>
</context-param>

我没有明确向会话添加任何内容。我的应用程序中的一些会话仍然大到 60 MB。

当我进行 hepdump 分析时,它显示会话 hashmap 正在占用所有内存。有没有办法确定会话存储中到底有什么?

例如,/xxx/yyy 处的内存存储 xxx 的保留堆 com.ibm.ws.session.store.memory.MemorySession @ 0x700000057890108 是 66209288。

4

1 回答 1

1

如果您使用分析堆转储,您应该能够深入com.ibm.ws.session.store.memory.MemorySession查找罪魁祸首,如此博客条目中所述:Richfaces Sessions Eating Memory – Analysis of a Memory Leak

在此处输入图像描述

于 2013-04-30T13:43:09.027 回答