私のプログラム(GlassFishで動作するJSF)に問題があります。それは、多くのデータを処理しています(そして、それをhibernateを使ってデータベースに挿入しています)。そして、問題は、約2時間の作業の後、それが遅くなることです。私は例外はありません(特にOutOfMemoryはありません)。メモリリークの可能性はありますか?私はEclipse Memory Analyzerでヒープ・ダンプをチェックしましたが、いくつかのHashMapの問題がありました。私はそれが可能であったところでそれを修復しました、そして今、ツールはこの問題を表示しません。しかし、私のアプリケーションはまだ適切に動作しません。OutOfMemory例外のないメモリリーク?
1
A
答えて
3
あなたの問題は、従来のメモリリークではないようです。
私が推測しなければならなかったのは、設計が不適切なデータ構造、非効率なキャッシュ、または並行性のボトルネックがあると言えます。
パフォーマンスのプロファイリングに焦点をあてて、時間がどこにあるかを確認し、ロック競合の兆候を探す必要があります。
0
ある種のメモリリークがある可能性があります。とは、一時的なオブジェクトを多く生成するため、ガベージコレクタがパフォーマンスを殺してしまうことがあります。これが当てはまる場合は、-Xmx
オプションを使用してプレイすることができます。ヒープサイズが小さければアプリケーションの速度が遅くなり、ヒープが大きければoppisite効果が表示されます。
この影響は、内部データ構造の拡大によっても引き起こされる可能性があります。データ構造に対する操作は常に時間の複雑さ(「Big-O-Notation」)を持ち、複雑さが多項式またはそれ以上であれば、そのような操作も性能を低下させる可能性があります。時間が経つにつれて成長し、最適なコレクションタイプを選択したことを二重チェックするアプリケーション内のコレクションを見てください。
関連する問題
- 1. にOutOfMemory例外Gson
- 2. 特有のOutOfMemory例外
- 3. JavaのOutOfMemory例外:MMAPは
- 4. JavaのOutOfMemory例外クリップボード
- 5. Request.Content.ReadAsMultipartAsync()とのOutOfMemory例外
- 6. OutOfMemory Where句の例外
- 7. YouTube直接アップロード - OutOfMemory例外
- 8. メモリリーク - WCF例外
- 9. 一般的なGDI +例外の後にOutOfMemory例外があります。
- 10. OutOfMemory例外をキャッチするC#
- 11. SharePoint SQL Reporting Services - 大きなレポートのOutOfMemory例外。の解き方?
- 12. JsonオブジェクトがOutOfMemory例外を指定しています
- 13. TransferEncodingChunkedが設定されていないと、HttpClientがOutOfMemory例外をスローする
- 14. TPLデータフロー - 非常に速いプロデューサー、非常に高速なコンシューマーOutOfMemory例外
- 15. OutofMemory Android Studio 2.1.2のGradle dexoptionでのエラー例外
- 16. JavaのOutOfMemory例外:ロードzipファイル上のmmapエラー
- 17. Visual Studio 2010(devenv.exe)プロジェクトのインストーラをビルドする際のOutOfMemory例外
- 18. ビットマップでUIを読み込むときのOutOfMemory例外
- 19. Xamarin Android - クラスライブラリのアクティビティを使用する - OutOfMemory例外
- 20. C#でXMLをロードする際のOutOfMemory例外
- 21. OutOfMemory Spark Scalaシェルで実行中の例外
- 22. C#OutOfMemoryポストレスポンスを読むときの例外
- 23. Neo4j一括データ - リレーションシップの作成[OutOfMemory例外]
- 24. BinaryFormatter.DeserializeからのOutOfMemory例外(内部StringBuilder呼び出しから)
- 25. WPFアプリケーションのBitmapSourceを使用したOutOfMemory例外
- 26. EclipseでOutOfMemory例外が発生するのはなぜですか?
- 27. OutOfMemory例外ファイルからビットマップをロードする
- 28. C#でOutOfMemory例外を回避するには?
- 29. OutOfMemory例外:イメージを圧縮するとヒープサイズが小さくなりますか?
- 30. Groovy TemplateEnginesとOutOfMemory。メモリリークの可能性がありますか?
visualvmを使用してVMに接続しようとすると、VMの状態を見てみると、いくつかの洞察を得ることができます。 –
related/dupe:http://stackoverflow.com/questions/40119/how -to-find-a-java-memory-leak – amit