[chef] Re: Re: Re: Re: Re: Sudden Increase in Merb RAM Use


Chronological Thread 
  • From: Adam Jacob < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Re: Sudden Increase in Merb RAM Use
  • Date: Wed, 3 Feb 2010 14:45:14 -0800

Also, can you file a ticket?  Lets move this into the ticket tracking
system, so we can keep all the artifacts in the same place.

Adam

On Wed, Feb 3, 2010 at 2:44 PM, Adam Jacob 
< >
 wrote:
> Next step here is to get this running under something that can give us
> some memory profiling - may I recommend bleak_house?
>
> http://blog.evanweaver.com/files/doc/fauna/bleak_house/files/README.html
>
> Is anyone else seeing this kind of growth on 64bit?
>
> It's "normal" to see ruby use roughly double the memory on 64bit
> systems, at least in my experience. We tend to see roughly 50-60MB
> resident across the board on 32bit, and it's pretty stable... but we
> don't have any production systems at 9.10.
>
> Adam
>
> On Wed, Feb 3, 2010 at 2:25 PM, Kenneth Stailey 
> < >
>  wrote:
>> Hi Adam,
>>
>> $ dpkg -l | grep "ii  ruby" | awk '{print $2 " " $3 }'
>> ruby 4.2
>> ruby1.8 1.8.7.174-1ubuntu1
>> rubygems 1.3.5-1ubuntu2
>> rubygems1.8 1.3.5-1ubuntu2
>>
>> $ ruby --version
>> ruby 1.8.7 (2009-06-12 patchlevel 174) [x86_64-linux]
>>
>> Actually looking at the charts shows a gradual decline in free RAM for a 
>> while (hours and hours) and then a sudden decline.
>>
>> There are 107 chef clients which go off twice an hour but not all at once 
>> since they use splayed cron jobs.  The splay is done by using a modulo of 
>> the last octet of the IP address not by any Chef splaying mechanism.  This 
>> yields an average of 2-3 a minute that check in nearly simultaneously, 
>> maybe a few seconds apart.
>>
>> The Chef server is running in a VM which is not hosting any other major 
>> applications.  It has sshd etc.
>>
>> Thanks,
>> Ken
>>
>> --- On Wed, 2/3/10, Adam Jacob 
>> < >
>>  wrote:
>>
>>> From: Adam Jacob 
>>> < >
>>> Subject: [chef] Re: Re: Re: Sudden Increase in Merb RAM Use
>>> To: 
>>> 
>>> Date: Wednesday, February 3, 2010, 5:06 PM
>>> Well, it certainly smells like a leak
>>> - I'm not seeing this behavior,
>>> though, and we haven't had any other reports of this kind
>>> of growth
>>> with the chef server.  I'm also only running 32bit
>>> ruby, which may be
>>> something.
>>>
>>> My next request will be to line up the growth in your
>>> graphs with the
>>> timing of particular servers checking in.
>>>
>>> If nothing obvious comes from that, it'll be time to start
>>> talking
>>> about breaking out a debugger and seeing what's what.
>>>
>>> Can you send the version of ruby your running along as
>>> well?
>>>
>>> Best,
>>> Adam
>>>
>>> On Wed, Feb 3, 2010 at 1:58 PM, Kenneth Stailey 
>>> < >
>>> wrote:
>>> > Particulars:
>>> >
>>> > $ lsb_release -a
>>> > No LSB modules are available.
>>> > Distributor ID: Ubuntu
>>> > Description:    Ubuntu 9.10
>>> > Release:        9.10
>>> > Codename:       karmic
>>> >
>>> > $ uname -m
>>> > x86_64
>>> >
>>> > $ COLUMNS=40 dpkg -l | grep chef
>>> > ii  chef           0.7.16-1
>>> configuration management system written in R
>>> > ii  chef-indexer   0.7.16-1       Creates search
>>> indexes of Chef node attribut
>>> > ii  chef-server    0.7.16-1       Merb
>>> application providing centralized manag
>>> > ii  chef-server-sl 0.7.16-1       Merb app slice
>>> providing centralized managem
>>> > ii  libchef-ruby   0.7.16-1       Ruby libraries
>>> for Chef configuration manage
>>> > ii  libchef-ruby1. 0.7.16-1       Ruby 1.8
>>> libraries for Chef configuration ma
>>> >
>>> > Looking closer the increase in RAM usage is not
>>> sudden.  I was looking at a chart of "free memory" *blush*
>>> so the "spikes" were really reboots resulting in sudden
>>> increase of RAM.
>>> >
>>> > However, the merb worker was using an rss of ~2.3 GiB
>>> >
>>> > $ ps vax --sort=-rss |head
>>> >  PID TTY      STAT   TIME  MAJFL   TRS   DRS
>>>   RSS %MEM COMMAND
>>> > 29513 ?        R    2192:16 1141997   2 2549253
>>> 2352616 79.9 merb : worker (port 4000)
>>> >  9882 ?        S     39:31  31673     2
>>> 172461 111188  3.7 ruby /usr/bin/chef-indexer -d -c
>>> /etc/chef/indexer.rb
>>> > 29514 ?        S     20:39  55304     2
>>> 132805 58284  1.9 merb : worker (port 4001)
>>> > 29512 ?        S    811:15  11118     2
>>> 104457 29028  0.9 merb : spawner (ports 4000)
>>> >
>>> > Since the reboot the rss of the restarted merb worker
>>> has climbed steadily from about 185 MiB to 320 MiB
>>> >
>>> > $ ps vax --sort=-rss |head -n 5
>>> >  PID TTY      STAT   TIME  MAJFL   TRS   DRS
>>>   RSS %MEM COMMAND
>>> >  1728 ?        S    105:02      1     2
>>> 400393 322248  6.6 merb : worker (port 4000)
>>> >  1613 ?        S      0:12      0     2
>>> 128161 78968  1.6 /usr/bin/ruby1.8 /usr/bin/stompserver -C
>>> /etc/stompserver.conf
>>> >  1729 ?        S      1:08      0     2
>>> 109313 36864  0.7 merb : worker (port 4001)
>>> >  1727 ?        S     41:55      3     2
>>> 105145 32532  0.6 merb : spawner (ports 4000)
>>> >
>>> > Does it have a memory leak or is it merely a resource
>>> hog?
>>> >
>>> > Thanks,
>>> > Ken
>>> >
>>> > --- On Wed, 2/3/10, Adam Jacob 
>>> > < >
>>> wrote:
>>> >
>>> >> From: Adam Jacob 
>>> >> < >
>>> >> Subject: [chef] Re: Sudden Increase in Merb RAM
>>> Use
>>> >> To: 
>>> >> " "
>>> < >
>>> >> Cc: 
>>> >> " "
>>> < >
>>> >> Date: Wednesday, February 3, 2010, 11:16 AM
>>> >> What's the frequency of the
>>> >> spike?  Does it correlate to a particular set of
>>> nodes
>>> >> checking in?
>>> >> Just to be sure, this is on 0.7.x?
>>> >>
>>> >> Sent from my iPhone
>>> >> On Feb 3, 2010, at 8:10 AM, Kenneth Stailey 
>>> >> < >
>>> >> wrote:
>>> >>
>>> >> Hi,
>>> >>
>>> >> merb RAM usage (rss) appears to stay flat for a
>>> long time
>>> >> and then suddenly shoots up.
>>> >>
>>> >> After the RAM usage has spiked it looks like
>>> this:
>>> >>
>>> >> $ ps vax --sort=-rss |head
>>> >>   PID TTY
>>> >> STAT   TIME  MAJFL
>>> >> TRS   DRS   RSS %MEM COMMAND
>>> >> 29513 ?
>>> >> R    2192:16 1141997   2 2549253
>>> >> 2352616 79.9 merb : worker (port
>>> >>
>>> >> 4000)
>>> >>
>>> >>  9882 ?
>>> >>  S     39:31
>>> >> 31673     2 172461 111188  3.7 ruby
>>> >> /usr/bin/chef-indexer -d -c /etc/chef/indexer.rb
>>> >> 29514 ?
>>> >> S     20:39
>>> >> 55304     2 132805 58284  1.9 merb
>>> >> : worker (port
>>> >> 4001)
>>> >>
>>> >> 29512 ?
>>> >> S    811:15
>>> >> 11118     2 104457 29028  0.9 merb
>>> >> : spawner (ports
>>> >>
>>> >> 4000)
>>> >>
>>> >> 10213 ?
>>> >> S      3:37
>>> >> 119973     2 301561 18080  0.6
>>> >> /usr/bin/ruby1.8 /usr/bin/stompserver -C
>>> >> /etc/stompserver.conf
>>> >> 15666 ?
>>> >> Sl     0:15   1473  1617
>>> >> 111930 10768  0.3
>>> >> /usr/lib/erlang/erts-5.7.2/bin/beam.smp -Bd -K
>>> true -- -root
>>> >> /usr/lib/erlang -progname erl -- -home
>>> /var/lib/couchdb
>>> >> -noshell -noinput -smp auto -sasl errlog_type
>>> error -pa
>>> >> /usr/lib/couchdb/erlang/lib/couch-0.10.0/ebin
>>> >>  /usr/lib/couchdb/erlang/lib/mochiweb-r97/ebin
>>> >> /usr/lib/couchdb/erlang/lib/ibrowse-1.5.2/ebin
>>> >> /usr/lib/couchdb/erlang/lib/erlang-oauth/ebin
>>> -eval
>>> >> application:load(ibrowse) -eval
>>> application:load(oauth)
>>> >> -eval application:load(crypto) -eval
>>> application:load(couch)
>>> >> -eval crypto:start() -eval ssl:start() -eval
>>> ibrowse:start()
>>> >> -eval couch_server:start([
>>> >> "/etc/couchdb/default.ini",
>>> >> "/etc/couchdb/local.ini",
>>> >> "/etc/couchdb/default.ini",
>>> >> "/etc/couchdb/local.ini"]), receive done ->
>>> >> done end. -pidfile /var/run/couchdb/couchdb.pid
>>> -heart
>>> >>
>>> >> Bumped up VM that is running Chef server from 3 GB
>>> RAM to 5
>>> >> GB RAM.
>>> >>
>>> >> After the reboot merb is only using about 185 MiB
>>> rss vs.
>>> >> 2.3 GiB
>>> >>
>>> >> $ ps vax --sort=-rss |head
>>> >>   PID TTY
>>> >> STAT   TIME  MAJFL
>>> >> TRS   DRS   RSS %MEM COMMAND
>>> >> 29513 ?
>>> >> R    2192:16
>>> >>  1141997   2 2549253 2352616 79.9 merb :
>>> worker
>>> >> (port
>>> >> 4000)
>>> >>
>>> >>  9882 ?
>>> >> S     39:31
>>> >> 31673     2 172461 111188  3.7 ruby
>>> >> /usr/bin/chef-indexer -d -c /etc/chef/indexer.rb
>>> >> 29514 ?
>>> >> S     20:39
>>> >> 55304     2 132805 58284  1.9 merb
>>> >> : worker (port
>>> >>
>>> >> 4001)
>>> >>
>>> >> 29512 ?
>>> >> S    811:15
>>> >> 11118     2 104457 29028  0.9 merb
>>> >> : spawner (ports
>>> >> 4000)
>>> >>
>>> >> 10213
>>> >>  ?
>>> >> S      3:37
>>> >> 119973     2 301561 18080  0.6
>>> >> /usr/bin/ruby1.8 /usr/bin/stompserver -C
>>> >> /etc/stompserver.conf
>>> >> 15666 ?
>>> >> Sl     0:15   1473  1617
>>> >> 111930 10768  0.3
>>> >> /usr/lib/erlang/erts-5.7.2/bin/beam.smp -Bd -K
>>> true -- -root
>>> >> /usr/lib/erlang -progname erl -- -home
>>> /var/lib/couchdb
>>> >> -noshell -noinput -smp auto -sasl errlog_type
>>> error -pa
>>> >> /usr/lib/couchdb/erlang/lib/couch-0.10.0/ebin
>>> >> /usr/lib/couchdb/erlang/lib/mochiweb-r97/ebin
>>> >> /usr/lib/couchdb/erlang/lib/ibrowse-1.5.2/ebin
>>> >> /usr/lib/couchdb/erlang/lib/erlang-oauth/ebin
>>> -eval
>>> >> application:load(ibrowse) -eval
>>> application:load(oauth)
>>> >> -eval application:load(crypto) -eval
>>> application:load(couch)
>>> >> -eval crypto:start() -eval ssl:start() -eval
>>> ibrowse:start()
>>> >> -eval couch_server:start([
>>> >> "/etc/couchdb/default.ini",
>>> >> "/etc/couchdb/local.ini",
>>> >>  "/etc/couchdb/default.ini",
>>> >> "/etc/couchdb/local.ini"]), receive done ->
>>> >> done end. -pidfile /var/run/couchdb/couchdb.pid
>>> -heart
>>> >>
>>> >> We are keeping charts of RAM use over time via
>>> Nagios/RRD
>>> >> and they show the increase in RAM usage happens
>>> suddenly not
>>> >> gradually.  It also repeats over time.
>>> >>
>>> >> Do other people see this issue?
>>> >>
>>> >> Thanks,
>>> >> Ken
>>> >>
>>> >>
>>> >
>>>
>>>
>>>
>>> --
>>> Opscode, Inc.
>>> Adam Jacob, CTO
>>> T: (206) 508-7449 E: 
>>> 
>>>
>>
>
>
>
> --
> Opscode, Inc.
> Adam Jacob, CTO
> T: (206) 508-7449 E: 
> 
>



-- 
Opscode, Inc.
Adam Jacob, CTO
T: (206) 508-7449 E: 




Archive powered by MHonArc 2.6.16.

§