<div dir="ltr">At-least on my system ARG_MAX depends on the size of ulimit.<div><br><div># getconf ARG_MAX<br>2097152<br></div><div># ulimit -s unlimited<br># getconf ARG_MAX<br>4611686018427387903<br></div></div><div><br></div><div>Meaning no kernel recompilation should be necessary to adjust the maximum argument space.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 29 Apr 2021 at 07:13, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello!<br>
<br>
On Tue, Apr 27, 2021 at 12:35:58PM +0200, Charlie Kilo wrote:<br>
<br>
> Hi everyone,<br>
> i'm trying to upgrade an nginx-binary while running.<br>
> When i do kill -s USR2 <pid>, i get the following error in the logs..<br>
> <br>
> 11:40:38 [alert] 52701#0: execve() failed while executing new binary<br>
> process "/opt/sbin/nginx" (7: Argument list too long)<br>
> <br>
> Anybody knows what exactly is in those arguments ? We have ~ 20-55 worker<br>
> processes if that might be related..<br>
> nginx-version is 1.18.0, os: debian buster<br>
<br>
The only notable thing I can think of is the list of open <br>
listening sockets, which is passed in the NGINX environment <br>
variable to the new process.<br>
<br>
There should be plenty of space even with a lot of listening <br>
sockets though, given the default limit of 2M on Linux.  Even with <br>
"listen ... reuseport", when a separate listening socket <br>
is created for each worker process, it does not look like the <br>
limit can be easily reached: 2M should be enough for about 300k <br>
listening sockets, so with 55 worker processes it is about 5k <br>
listening sockets with reuseport.<br>
<br>
How many listening sockets do you have?  Do they use "listen ...  <br>
reuseport" option?  What "getconf ARG_MAX" and "ulimit -s" show on <br>
your system?  Any 3rd party modules (and what "nginx -V" shows)?<br>
<br>
-- <br>
Maxim Dounin<br>
<a href="http://mdounin.ru/" rel="noreferrer" target="_blank">http://mdounin.ru/</a><br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org" target="_blank">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" rel="noreferrer" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</blockquote></div>