the GC policy performance for the IBM JDK 1.5 defaults is poor
These days to test the performance of an engine, with a single table query case, the test results are 210tps,cpu also normal, in about 85%, there is no doubt.
After the test again, with GC log, GC analysis tool analysis of GC throughput, found that the throughput is very low, unexpectedly only about 77%, very strange, looked at GC log, all global GC, suspected GC policy problems, check the information, Refer to the following article:
http://www.ibm.com/developerworks/cn/java/j-ibmjava2/
The default GC policy is optimized for throughput:-xgcpolicy:optthruput, which is typically used for applications where throughput is more important than a short-lived GC pause. The application pauses every time a garbage collection is made.
I'm picking up a few other GC policies:
Reasons to switch to another GC policy
Switch to Reason
Optavgpause My application cannot tolerate such a long GC pause time. If the GC pause time can be reduced, some of the performance degradation is acceptable. My application is running on a 64-bit platform and using a very large heap--more than 3 or 4GB. My application is a GUI application and I am very concerned about the user response time.
GENCON My application allocates a lot of short-term surviving objects. Heap space appears fragmented. My application is transactional (that is, objects in a transaction no longer exist after the transaction is committed).
Subpool on a large multiprocessor computer, I encountered scalability problems.
Try the GENCON strategy, HoHo, good guy, the throughput of the test case is up to 290tps (directly up to 40%), it's too exaggerated, GC throughput is up to 98%, remember the previous 1.4 GC strategy without generational, and the impression that the IBM JDK is not generational, It is estimated that after introducing the generational mechanism, the default Optthruput strategy becomes more complex and less efficient than it used to be.
Here's a wake-up call, beware of the IBM JDK 1.5 GC policy, and it may be a big surprise to switch to GENCON when the GC is inefficient.
Posted on 2008-04-14 20:38 tacy Lee Reading (954) Comments (2) Edit Collection categories: Performance related--> comments /c5>
what tools to use to see GC throughput, mainly to see which parameters. RE:IBM JDK 1.5 default GC policy performance is poor 2008-04-18 09:22
Use the Log Viewer tool to open a GC log file and look inside the overall garbage collection overhead # RE:IBM JDK 1.5 default GC policy performance is poor 2008-04-17 23:51 syxlw