Re: [patch 016/104] epoll: introduce resource usage limits

From: Greg KH
Date: Fri Jan 23 2009 - 12:09:01 EST


On Fri, Jan 23, 2009 at 08:47:45PM +1100, Bron Gondwana wrote:
> On Thu, 22 Jan 2009 21:16 -0800, "Greg KH" <gregkh@xxxxxxx> wrote:
> > > This is a kvm virtual machine running on a reasonably beefy external box, but
> > > with 2Gb RAM allocated to the mx instance because that's all kvm would let me
> > > use last time I checked. We're using KVM so the local copy of the database is
> > > a little further away from the "internet facing side" and so we can build each
> > > machine with our standard FAI setup.
> >
> > I would suggest just changing this default value then, it's a simple
> > userspace configuration item, and for your boxes, it sounds like a
> > larger value would be more suitable.
>
> Yes - I've pushed it up to 4096 now. Should be plenty!
>
> I guess Postfix is a bit of an odd case here. It runs lots of processes, yet
> uses epoll within many of them as well - sort of a historical design in some ways,
> but also to enforce maximum privilege separation with many of the daemons able to
> be run under chroot with limited capabilities.
>
> So I guess I have a few questions left:
>
> 1) is this value ever supposed to be hit in practice by non-malicious software?
> If not, it appears 128 is too low.

It does appear a bit low. What looks to you like a good value to use as
a default?

> 2) if we're going to stick with 128, is there any way to query the kernel as to how
> close to the limit it's getting? As an example, our system checks poll
> /proc/sys/fs/file-max every 2 minutes, and warn us if its getting "full".

Good idea, we should report this somewhere for the very reasons you
suggest. Can you write up a patch to do this? If not, I'll see what I
can do.

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/