This message was deleted.
# puppet-enterprise
s
This message was deleted.
c
It came in with PE 2019.0 and Java 11. Basically, after performance testing, we found that: • ParallelGC can reduce the maximum heap size below
-Xmx
when appropriate, which frees RAM for use by other part of the system (GC may have gained this capability by Java 17). • G1 does not fit well with JRuby: https://github.com/jruby/jruby/issues/5789
b
thanks, will have a look. We were considering to switch to G1 because of our pxp-agent timeouts
n
If you try this, let me know how it works out for you. Reevaluating G1 is on our todo list, especially since it lets you do things like
-XX:+UseStringDeduplication
, and having more data points would be fantastic.
n
I think the long GCs you’re seeing are actually when ParGC is trying to do just that: reduce the heap size below
-Xmx
.
b
odd thing is that I have outofmemory logfiles from the puppetserver. they logged the java args and that says it used G1, not parallelGC
mhmmm
what if someone did some hiera cleanup, G1 was configured but changed by accident to parallelGC
I need to check the git history on monday...
n
The private ticket you linked describes G1 causing out of memory errors, and switching to ParGC to avoid them.
b
if that in turn kills the pcp-broker, I choose G1 and throw more memory at it :D
n
Maybe that’s why it has so much memory allocated now?
b
yeah
we reduced heap today on two compilers to 16G and on the other two to 20G, but saw timeouts again on a box with 20G. we increasedheap there to 31G
also I think default gc log retention is a bit.. not optimal. thise are 16 files with 65kb each. thats around 20min of history per file. we increased that as well and will check that + flight recorder on monday
to come back to this: We've less used HEAP with G1GC (not significant). After 4 hours with G1GC we had no single FullGC/no delay in the expired CRL check from the pcp-broker
hooray 1
n
@bastelfreak Have you tried
-XX:UseStringDeduplication
? Curious if you’d see any significant difference.
b
no we didn't set that
I can take a look when I'm back in the office in two weeks. would that result in smaller HEAP?
n
If you were inclined to give it a try, I’d be very interested 🙂
It might. On Java 11, I’m not sure that G1 actually frees RAM back up, but it might be more efficient. Or it might not and cause increased pause times.
b
I still would like to understand why we see so many full GCs that it breaks the pxp-agents. I haven't noticed it in other environments
but maybe that's also a common problem but where we just run so many tasks/plans that we notice it
n
Yeah, kind of odd
b
yup
https://dzone.com/articles/usestringdeduplication
25 percent of Java applications memory is filled up with strings.
? 13.5 percent are duplicate strings in Java applications.
Average string length is 45 characters.
having that data for puppetserver/puppetdb would be interesting
n
Yeah, for sure. I feel like it will probably help, but it would be good to measure in a real-world environment.