On 23 Jun 2015, at 16:24, Jonathan Brookins <jon.br...@gmail.com> wrote:
I thought it would be instructive if folks posted any JVM tuning tips that help Lucee performance, stability, et al. I've tried some GC tuning settings, but they don't seem to work on the server. Guess I need to do some more research.
--
You received this message because you are subscribed to the Google Groups "Lucee" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lucee+un...@googlegroups.com.
To post to this group, send email to lu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/84415e55-65d0-4f3c-9e10-77b184d74ab3%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Hi Jonathan,
Settings sample:
Memory
-Xmx: 4 GB (max. 32GB)
-Xms: as Xmx
-Xss: 256K
Garbage Collector:
The G1 Collector seems to need more CPU and RAM – but frees more memory.
If you don’t have more than 6 GB XmX you should select the CMS Collector.
Java Options for JDK 7 (with CMS GC = UseConcMarkSweepGC):
…
-XX:NewRatio=4
-XX:SurvivorRatio=8
-XX:PermSize=512m
-XX:MaxPermSize=512m
-XX:+UseCompressedOops
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+CMSClassUnloadingEnabled
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=68
-XX:+CMSScavengeBeforeRemark
-XX:+UnlockExperimentalVMOptions
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts
-XX:+DisableExplicitGC
-javaagent:D:/ApacheTomcat-7.0.25/luceelib/lucee-inst.jar (nur Lucee)
Java Options for JDK 8 (with G1 GC = UseG1GC):
…
-XX:+UseG1GC
-XX:+ParallelRefProcEnabled
-XX:MaxGCPauseMillis=200
-XX:InitiatingHeapOccupancyPercent=70
-XX:G1ReservePercent=15
-XX:ParallelGCThreads=20
-XX:ConcGCThreads=5
-XX:+AggressiveOpts
-javaagent:D:/ApacheTomcat-7.0.25/luceelib/lucee-inst.jar (nur Lucee)
-Harry
--
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/F5A941E045A6FE4288ABB2E3D797146FA73B604B%40SRV-DC1.contens.local.
I agree with both of you - and Kai König, Mike Brunt and others mention it in every JVM tuning session:
Take care with all JVM tuning tips – you have to test your application and find YOUR perfect combination.
But, I was very happy years ago about all information/tuning samples I could get.
And in my opinion things got only better with JDK 8 and GC1 – before imho you HAD TO tune your JVM Settings (in big projects) in order to prevent memory leaks.
Especially if you are generating lots of classes - the default Java VM did not GC the PermGen. -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC are very important in this case.
-Harry
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/46f63612-524e-46a9-b8b8-f848d9ce9783%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/46f63612-524e-46a9-b8b8-f848d9ce9783%40googlegroups.com.
Hi Kai,
>> Just a quick note, Harry - UseParNewGC is obsolete because UseConcMarkSweepGC automatically uses Parallel New for the YG in Java 7.
Thanks for your note, but are you sure about that?
See :
http://www.fasterj.com/articles/oraclecollectors1.shtml
(Garbage Collectors Available In JDK 1.7.0_04)
…
The full list of possible GC algorithm combinations that can work are:
Command Options* |
Resulting Collector Combination |
-XX:+UseSerialGC |
young Copy and old MarkSweepCompact |
-XX:+UseG1GC |
young G1 Young and old G1 Mixed |
-XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy |
young PS Scavenge old PS MarkSweep with adaptive sizing |
-XX:+UseParallelGC -XX:+UseParallelOldGC -XX:-UseAdaptiveSizePolicy |
young PS Scavenge old PS MarkSweep, no adaptive sizing |
-XX:+UseParNewGC |
young ParNew old MarkSweepCompact |
-XX:+UseConcMarkSweepGC -XX:+UseParNewGC |
young ParNew old ConcurrentMarkSweep** |
-XX:+UseConcMarkSweepGC -XX:-UseParNewGC |
young Copy old ConcurrentMarkSweep** |
*All the combinations listed here will fail to let the JVM start if you add another GC algorithm not listed, with the exception of -XX:+UseParNewGC which is only combinable with -XX:+UseConcMarkSweepGC |
|
**there are many many options for use with -XX:+UseConcMarkSweepGC which change the algorithm, e.g.
|
-Harry
--
You received this message because you are subscribed to the Google Groups "Lucee" group.
To unsubscribe from this group and stop receiving emails from it, send an email to lucee+un...@googlegroups.com.
To post to this group, send email to lu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/F5A941E045A6FE4288ABB2E3D797146FA73B62EF%40SRV-DC1.contens.local.
J
(Sah den Wald vor lauter Bäumen nicht)
-Harry
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/F80F1B73-5E46-4AF5-8F8F-99E8D935A007%40gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/lucee/61b6fd7b-f4ff-4775-b1a8-0ea005e4437f%40googlegroups.com.