Increase file ulimit for the asterisk daemon
How do i increase the file limit for the asterisk daemon on my ubuntu computer? When I login as root and use the ulimit, it says unlimited already. I can't login as asterisk because that user doesn't have shell access, it's just a daemon.
I can see in /proc/<asterisk proc id>/limits
the current Max open files is 1024. I want to double that.
I even went into /etc/security/limit.conf and added
asterisk soft nofile 2048
asterisk hard nofile 2048
@asterisk soft nofile 2048
@asterisk hard nofile 2048
THen I reboot server. Still, the max open files is 1024.
What else can I do?
Solution 1:
You could always edit the /etc/init.d/asterisk
file and prepend ulimit -n 2048
to the top.
This is the same process that MySQL, Varnish and a few others use.
Solution 2:
For Asterisk running under systemd (e.g. on Debian 9), you need to create a systemd override file:
mkdir /etc/systemd/system/asterisk.service.d/
Create /etc/systemd/system/asterisk.service.d/override.conf
with the following contents:
[Service]
LimitNOFILE=100000
Reload the unit:
systemctl daemon-reload
Restart Asterisk:
systemctl restart astertisk
Check the limit:
cat /proc/<your asterisk PID>/limits | grep '^Max open files'
Solution 3:
I had this exact issue for anyone stumbling across this in the future (is it chrome?)
The system that I was having the issue on was Debian rather than Ubuntu, but hey, close enough.
I had to use the following in '/etc/security/limits.conf' to get it working, as specifying the user & group didn't work.
* soft nofile 10240
* hard nofile 10240
Logging in and out again applies this change.
Solution 4:
In Asterisk 11 (I've not checked others) this is set with the maxfiles
directive in the [general]
section of asterisk.conf
. None of the other answers worked for me on Debian.
Solution 5:
It is better to edit the configurations in /usr/sbin/safe_asterisk
instead on editing init.d script.
you can set many parameters (PRIORITY
, SYSMAXFILES
, MAXFILES
...). Uncomment SYSMAXFILES and MAXFILES; and increase their values.