I've found Censum by jClarity to be an excellent tool to tune JVM GC
parameters to your specific application running on a particular server. You
add a few GC parameters to enable logging that the tool needs, run your app
under load for enough time to get sufficient data, and then feed the log
directly into Censum, which analyzes it and then suggests improvements that
can be made to your GC parameters. There is also a list where you can ask
questions about the analysis and its suggestions and get in depth replies
from people who have extensive experience tuning JVMs.

https://www.jclarity.com/censum/



Aria Media Sagl
+41 (0)76 303 4477 cell
skype: ariamedia

On Sat, Apr 30, 2016 at 11:50 AM, Niels van Klaveren <
niels.vanklave...@gmail.com> wrote:

> GC parameters used by a lot of projects are handed down like traditions
> for years, even spreading to others. They're almost never re-evaluated,
> which means they might actually lose out on new performance improvements,
> or worse, might even cause performance regressions.
>
> Most parameters in the Overtone lib for instance have been the default for
> quite some time (ParNew GC, TLAB). Where restricting New Gen might be a
> good idea to reduce new gen GC latency, it can cause unwanted promotions,
> longer tenured GC's and in the end heap fragmentation resulting in a full
> defrag gc that can take 10s of seconds.
>
> Defaults are there for a reason, to take care of most situations. Any
> settings other than the three default Garbage Collectors (Default for
> shortest time to finish, CMS for shortest pause , G1 for short pauses but
> long running times) and at most a pause hint for their heuristics means
> you're entering case-specific  territory and should be treating it so.
>
> This means realistic benchmarking, profiling and comparisons between
> different settings. I'd treat any JVM product or library with more than 2
> GC parameters with care, because if they need so much tweaking as their
> default, you can be sure to need both a good understanding of their inner
> workings and JVM memory managent as well to keep them performing in your
> specific case.
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to