1 person found this helpful
This certainly has impact! When the Heap is near to it's max, the JVM will do Garbage Collects. Garbage Collects are quite CPU intensive and major collects will impact performance, because it will regularly stop the application(s) running.
You can increase the heap, provided that you have enough native memory. And/or you can switch collector's. But this tuning is quite dependent on your situation and needs more than a simple answer in the thread. Your question is quite short, but there's a whole world to explore here. So there is no simple answer to it.
However, 2 years ago, there was a great MOOC (Massive Open Online Course) that is turned into a Learning Path: https://apexapps.oracle.com/pls/apex/f?p=44785:50:108674633749477:::50:P50_COURSE_ID,P50_EVENT_ID:185,5777
I did it as a MOOC, and it is a great resource. It will cost only a few days, but I can really recommend it.
95% heap utilization is a sign that you don't have sufficient heap space.
You can do the following
- Increase the heap size.
- Tune the initiateheapoccupancy percent , basically let the marking phase kick in little early.
Are you using CMS or G1? G1 has better memory management, you can switch to G1?
How is the CPU utilization, i am assuming it wud be hight.
You can look at the number of marking threads you have.
Definitely, I will work more on that. And will get back to you if required.