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 分析を行うと、セッション ハッシュマップがすべてのメモリを使用していることがわかります。セッションストアに何があるかを正確に特定する方法はありますか?

例えば、/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 に答える