ulimit in the ubuntu package

Sergey Budnevitch sb at waeme.net
Tue Jun 4 14:35:32 UTC 2013


On 4  Jun2013, at 17:32 , pablo platt <pablo.platt at gmail.com> wrote:

> "worker_rlimit_nofile set RLIMIT_NOFILE for workers only, so master process still sees previous value."
> http://mailman.nginx.org/pipermail/nginx/2008-April/004596.html

You hardly need to increase number of file descriptors for master process, because
master process do not serve connections. worker_rlimit_nofile will not help
you only if you have a lot of log files, more then or about of ulimit -n value.


> 
> If worker_rlimit_nofile doesn't affect the master process and limits.conf doesn't affect init script, do I need to call ulimit in the init.d script?

It's up to you. Both ulimit in init script and worker_rlimit_nofile will work.

> 
> 
> On Tue, Jun 4, 2013 at 4:25 PM, Sergey Budnevitch <sb at waeme.net> wrote:
> 
> On 4  Jun2013, at 17:04 , pablo platt <pablo.platt at gmail.com> wrote:
> 
> > It's not clear to me how worker_rlimit_nofile, /etc/security/limits.conf and setting ulimit in the init.d script are related.
> >
> > Is worker_rlimit_nofile the same as using ulimit in the init.d script?
> > Or does ulimit sets the maximum limit and worker_rlimit_nofile the limit per worker?
> 
> All of them set RLIMIT_NOFILE (man 2 setrlimit).
> If there is worker_rlimit_nofile directive in nginx.conf, nginx master process
> sets RLIMIT_NOFILE for new workers processes. This works no matter how
> you start nginx.
> ulimit -n in init script will works if nginx is started by init script.
> limits.conf is used by pam_limits, so it works for:
> % grep pam_limits /etc/pam.d/*
> /etc/pam.d/atd:session    required   pam_limits.so
> /etc/pam.d/cron:session    required   pam_limits.so
> /etc/pam.d/login:session    required   pam_limits.so
> /etc/pam.d/sshd:session    required     pam_limits.so
> /etc/pam.d/su:# session    required   pam_limits.so
> 
> atd, cron, login, sshd processes and their child processes,
> for example when you login locally or via ssh.
> 
> 
> >
> > Why does the init.d script from the ubuntu repo let me set using ulimit while the package from nginx.org doesn't?
> > https://gist.github.com/aganov/1121022#file-nginx-L43
> >
> > Does /etc/security/limits.conf has any effect on the nofile limit in nginx when it is started using init.d script?
> > For upstart, I know that you have to set the limit in the upstart script and can't use /etc/security/limits.conf
> 
> limits.conf will not work if init script is started on system boot.
> 
> 
> >
> >
> > On Tue, Jun 4, 2013 at 3:39 PM, Maxim Dounin <mdounin at mdounin.ru> wrote:
> > Hello!
> >
> > On Tue, Jun 04, 2013 at 04:30:40PM +0400, Sergey Budnevitch wrote:
> >
> > >
> > > On 4  Jun2013, at 15:39 , pablo platt <pablo.platt at gmail.com> wrote:
> > >
> > > > Hi,
> > > >
> > > > I'm using the ubuntu package from nginx.org.
> > > >
> > > > In the package from the official ubuntu repo, you can set file descriptor limit by changing /etc/default/nginx
> > > > # Check if the ULIMIT is set in /etc/default/nginx
> > > > if [ -n "$ULIMIT" ]; then
> > > >     # Set the ulimits
> > > >     ulimit $ULIMIT
> > > > fi
> > >
> > > ulimit without flags sets max file size in blocks, not file descriptor limit, so
> > > you may fill a bug in their bug tracker.
> >
> > I think the expected use is to supply arguments within the ULIMIT
> > variable.
> >
> > --
> > Maxim Dounin
> > http://nginx.org/en/donation.html
> >
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
> >
> > _______________________________________________
> > nginx mailing list
> > nginx at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list