I am modifying /etc/security/limits.conf on the machine, and then installing Supervisor in a Chef recipe. After the recipe run finishes, if I run cat /proc/<process id>/limits
I see:
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max open files 1024 4096 files
If I log into the machine and run service supervisor restart
, the max open files is then set correctly. However, if I run this command in the recipe (right after installing supervisor, at the very end of the recipe, anything) the limit does not change. It is not until I log in and manually run that command that the limit changes.
How can I get the open file limit for supervisor to change using the chef recipe? Operating system is Ubuntu 12.04.
Supervisor relies at its service config. So to raise limit you need to do it at service level.
This scenario works perfect for ubuntu 20.04
systemctl edit supervisor.service
Enter and save
[Service]
LimitNOFILE=20000
systemctl daemon-reload
systemctl restart supervisor
Then, just to check, cat /proc/pgrep supervisor
/limits | grep open
You will se something like
Max open files 20000 20000 files
It works :)
To any weary googlers: you might be looking for the minfds
setting in the supervisor config. This setting seems to take effect for both the supervisord process as well as the children. I had a number of other strategies, including launching a shell script that set the limits before executing the actual program, but this was the only thing that worked.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With