多くの場合、IBM Websphere Application Server で OutOfMemoryException を見つけました。アプリケーションがデータベースから巨大なデータを取得するため、この例外が発生すると思います。そこで、すべてのクエリが 1000 レコードを超えるデータを取得しないように制限し、WAS の JVM を次のように設定します。
+ Verbose garbage collection
+ Maximum Heap size = 1024 (RAM on my server is 16 GB and now I already change to 8192)
+ Debug arguments = -Djava.compiler=NONE -Xdebug -Xnoagent
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777
+ Generic JVM arguments = -Dsun.rmi.dgc.server.gcInterval=60000
-Dsun.rmi.dgc.client.gcInterval=60000 -Xdisableexplicitgc
-Dws.log=E:\WebApp\log -Dws.log.level=debug
(ws.log and ws.log.level are my properties)
そして、プロファイルフォルダーに heapdump 、 javacore 、および snap ファイルを見つけました。問題の原因について教えてくれると思いますが、heapdump、javacore、および snap ファイルの読み取り/使用方法がわかりません。
OutOfMemoryException を防止/回避/修正する方法を教えてください。ありがとう