God process monitor 0.8.0 major improvement

God is a ruby based process monitor that has a reputation for leaking memory and hogging system resources. I have been considering replacing God with monit for some time. A couple of days ago I noticed a retweet by John Mettraux about a ruby debugging presentation by Aman Gupta. The presentation covers various debugging tools and gives a number of examples, including Eric Lindvall’s work debugging the God process monitor (slide 41). Obviously I had to try it and the following is my experience.

There didn’t seem to be any gems pushed so I clone the God github repository and built the gems locally.

UPDATE: Eric Lindvall pointed out that they had been on gemcutter for a few days, so if you aren’t already added gemcutter as a source you need to do the following.

# gem install gemcutter
# gem tumble
# gem install god

The gems installed without problems and the new version didn’t brake my existing configuration. I noticed God was sending messages to syslog every time It checked a process. The message level command line flag didn’t seem to have any effect on this so I disabled syslog logging and just logged to a file. This may have also contributed to the improved performance. Bellow are my results after running for half a day.

load average after upgrading god to 0.8.0

God was obviously using considerable resources just to run.

memory usage after upgrading god to 0.8.0

The green represents memory used by applications. After upgrading God this is considerably decreased and doesn’t grow i.e. memory leaks seem to be fixed.

Sat, 05 Dec 2009 17:09 Posted in

Tags , , , , , , ,

Comment God process monitor 0.8.0 major improvement


RSS