4

いいえ、本当に、それが私がやろうとしていることです。サーバーは 1600 人のユーザー (Web サーバーではなく、バックエンドの長時間実行プロセス) を保持していますが、ユーザーが通常よりも多くのアクティビティを生成する場合があるため、特に「リソース」が不足している場合は、負荷を削減する必要があります。ヒープメモリを意味します。これは設計上の大きな問題です。これを設計するにはどうすればよいでしょうか。

これには、OOM からの回復ではなく、OOM の防止が含まれる可能性があります。理想的には

   if(nearlyOutOfMemory()) throw new MyRecoverableOOMException();

発生する可能性があります。

しかし、そのnearlyOutOfMemory()機能が何であるかはよくわかりません。

4

4 に答える 4

1

Runtime.getRuntime()次の方法を使用できます。

しかし、私は他のポスターに同意します.または を使用するとSoftReference、おそらくその状態から手動で回復する手間を省くことができます.WeakReferenceWeakHashMap

于 2012-08-07T22:13:21.930 に答える
0

スロットリング、リソース調整サーブレット フィルタも役立つ場合があります。jetty/eclipse のDoSFilterに遭遇しました。

于 2012-08-07T21:31:00.897 に答える