[Mongrel] What's mongrel doing when it's idle.

rm_mongrel at cheapcomplexdevices.com rm_mongrel at cheapcomplexdevices.com
Thu Apr 12 14:03:36 EDT 2007

A totally idle mongrel seems to wake up about once a second doing
a little stuff like:
   select(4, [3], [], [], {0, 999696})     = 0 (Timeout)
   gettimeofday({1176400534, 112594}, NULL) = 0
   select(4, [3], [], [], {0, 0})          = 0 (Timeout)
   time(NULL)                              = 1176400534
   time(NULL)                              = 1176400534
   gettimeofday({1176400534, 113841}, NULL) = 0
   gettimeofday({1176400534, 114138}, NULL) = 0
over and over.

I realize it's not a big deal to do so little so infrequently; but 
wondering why it wakes up to do anything at all.    Any reason
whatever it's polling for can't just be added to the select()

I only noticed because on an extremely overloaded server (I have dozens of 
virtual machines running on a box here and memory on each is limited and 
each are running quite a few web servers) I was mildly surprised to see 
that the mongrel tasks didn't get swapped out completely.  The waking up 
once a second is probably why.


PS: Equally curious to me as that irb seems to wake up a few times a 
second too; but that's less of a concern because I don't leave irbs 
running on purpose.

More information about the Mongrel-users mailing list