Details
-
Improvement
-
Status: Closed
-
Normal
-
Resolution: Won't Do
-
None
-
None
-
None
-
Major
Description
In OSS Puppet Server we ship with config files that set the max heap size to 2G, no matter what.
Today, with the default number of JRuby instances set to num-cpus + 2, that doesn't make much sense. If the user installs Puppet Server on a machine that has a large number of cores, we're virtually guaranteed to get an OOM.
In SERVER-364, we are considering lowering the default number of JRuby instances to a max of 4 or 6, but less for machines with a low number of CPU cores. If we do that, 2G may be a reasonable max heap size for machines that end up with the default of 6 jrubies, but for the smaller machines, it'd be nice if we could default to a lower value.
To achieve this we'd need to be able to detect the number of cores and/or total system RAM during installation, and modify the defaults/sysconfig file to set an appropriate value during installation. If we can figure out a sane way to do that, we still need to decide on a formula for calculating the value based on the number of JRubies. We'll probably need to do some perf testing against SERVER-325 as input to this, because it's possible that that ticket will significantly reduce the RAM requirements overall.
Attachments
Issue Links
- relates to
-
SERVER-381 Limit number of hprof files that can be generated?
-
- Closed
-
-
SERVER-413 Investigate scripting for configuring JRuby instances & JVM heap size at install
-
- Closed
-
-
EZ-31 Add support for 'ExecStartPre' script setting in ezbake
-
- Closed
-
-
SERVER-379 Tuning guide for JRubies, Heap size, etc.
-
- Closed
-