Memory sizing (or leak) in master. [Tkt: 115440]

68 views
Skip to first unread message

Chris Ritson

unread,
Mar 14, 2014, 9:18:18 AM3/14/14
to puppet...@googlegroups.com
Am I being too optimistic? Running a centos 6.5 virtual machine as puppet master, on version 3.4.3, I am frequently running out of memory. The virtual machine only has 0.75Gig of allocated memory. It holds 225 certificates, but only about 130 of these agent machines are regularly active. Mostly they run the puppet agent from cron once an hour at a random time or with a random splay from within puppet if the start time is not already randomised.

How much memory would be normal for a setup of this size, and how is it likely to scale as we add more client agents?

Chris Ritson (Computing Officer and School Safety Officer)

Room 707, Claremont Tower, EMAIL: Chris....@ncl.ac.uk
School of Computing Science, PHONE: +44 191 20 88 175
Newcastle University, FAX : +44 191 20 88 232
Newcastle upon Tyne, UK NE1 7RU. WEB : http://www.cs.ncl.ac.uk/


Felix Frank

unread,
Apr 16, 2014, 9:12:51 AM4/16/14
to puppet...@googlegroups.com
I honestly don't know but - what is the exact ruby version on this box,
down to the patch level?

Ramin K

unread,
Apr 16, 2014, 2:47:57 PM4/16/14
to puppet...@googlegroups.com
On 3/14/2014 6:18 AM, Chris Ritson wrote:
> Am I being too optimistic? Running a centos 6.5 virtual machine as puppet master, on version 3.4.3, I am frequently running out of memory. The virtual machine only has 0.75Gig of allocated memory. It holds 225 certificates, but only about 130 of these agent machines are regularly active. Mostly they run the puppet agent from cron once an hour at a random time or with a random splay from within puppet if the start time is not already randomised.
>
> How much memory would be normal for a setup of this size, and how is it likely to scale as we add more client agents?
>
> Chris Ritson (Computing Officer and School Safety Officer)

From a prod Puppet master running 3.4.3, Ruby 1.8.7, and Passenger 4.

puppet01 ~ $ sudo passenger-memory-stats
<snip>
----- Passenger processes ------
PID VMSize Private Name
--------------------------------
9874 236.1 MB 148.1 MB Passenger RackApp: /home/deploy/puppet/rack
13019 224.2 MB 136.7 MB Passenger RackApp: /home/deploy/puppet/rack

200MB per application instance is roughly what I've heard from other
users in the community.

In your case I'd consider increasing RAM to 1G and setting limits on the
number of Puppet master processes. Something like the following might work.

## passenger.conf
PassengerMaxPoolSize 2 # only two instances
PassengerMinInstances 2 # assumes no other Passenger run applications
PassengerMaxRequests 10000
PassengerStatThrottleRate 30

In regards to scaling Puppet it's a matter of controlling concurrent
requests. If you never have more than two concurrent requests then you
may never need a larger server. General rule of thumb is 1.5 or 2.0
instances per core, 250MB per instance, and enough instances to handle
requests.

Ramin
Reply all
Reply to author
Forward
0 new messages