Часто я обнаруживал исключение OutOfMemoryException на сервере приложений IBM Websphere.
Я думаю, что это исключение происходит, потому что мое приложение извлекает огромные данные из базы данных. Итак, я ограничиваю все запросы, не получаю данные более 1000 записей и устанавливаю JVM WAS, следуя
+ 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.
Спасибо