我在 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。