Guest User

hi. I am using the JENNIFER 4. I noticed JENNIFER failed to receive data from its agent due to frequent Full GC before 00 time on JENNIFER server. When the time pass 00:00, such error disappeared. I enhanced the JVM Heap Memory to 10 GB (New 3GB) to secure much old area, but the identical error occurred frequently. I extracted the Heap Dump on Server before Full GC occurred, and noticed the below.

“com/javaservice/jennifer/util/ObjectLinkedList” inside the “com/javaservice/jennifer/server/AsyncStatisticsDBWorker$Sql10m,” 9 GB has been shared. (please refer to the attached file.)
My guess is that a few of performance information that has been saved on DB for 10 minutes continues to remain at memory until next 00:00. When 00:00 passed, it would become flushed. Quite many SQL have been initiated on our service. I would like to know if you have a way of deleting sql10m information from memory.
1. How to prevent keeping sql10 information from memory
2. How to delete sql10 information on a regular basis
3. Other ways
Thanks.

Khalid Saeed

Sorry for the inconvenience. Even if you enlarge the heap size, the amount of data would continue to grow. It is not a fundamental solution at all. To see if the number of sql is many, please make sure you do have a working code or GUID inside the query. According to your stack, receiving amounts of statistical data for 10 minutes are much bigger than saving it. Please attach Jennifer.xxx.log file from your server. I also need to know the number of select count(*) from sqls. To identify what actually caused the problem, I need to have a heap dump. But 10 GB is too large to share. Hope you could make it as 2 GB. If you feel uncomfortable communicating in this board, please leave a comment to the email below.
nomin@jennifersoft.com