I am having issues with terminating more than 120 calls with asterisk. I noticed when concurrent calls hit 120 and above, it gives errors like “Maximum Number Of Open Files / File Descriptors (FD)” and some other mysql errors.
I am using Ubuntu 16.04 and Asterisk 13.38
please help, here’s my settings
CLI> core show settings
PBX Core settings
Version: 13.38.3
Build Options: BUILD_NATIVE, OPTIONAL_API
Maximum calls: Not set
Maximum open file handles: 1024
Root console verbosity: 0
Current console verbosity: 0
Debug level: 0
Maximum load average: 0.000000
Minimum free memory: 0 MB
Startup time: 10:16:41
Last reload time: 10:16:41
System: Linux/4.4.0-131-generic built by root on x86_64 2022-09-13 13:33:28 UTC
System name:
Entity ID: 00:50:56:9c:ef:66
PBX UUID: d5809bad-fe78-4df7-94f5-a4256d3de994
Default language: en
Language prefix: Enabled
User name and group: /
Executable includes: Disabled
Transcode via SLIN: Enabled
Transmit silence during rec: Disabled
Generic PLC: Enabled
Generic PLC on equal codecs: Disabled
Min DTMF duration:: 80
Cache media frames: Enabled
RTP dynamic payload types: 96-127
max calls is commented out, and is displayed as “not set”. Did you remove the ; comment marker from maxfiles?
max_load is also disabled. Note that this is relative to the actual load on the system, although the more cores you have, the higher you can set this. What I’m trying to say is that exceeding a reasonable value of this parameter means the system is in distress, and it may well be better to refuse calls than allow that to happen. The fix, in that case, is a more powerful machine, not parameter tuning.
Most people leave it unset. You’d only really set it to ensure that the system fails gracefully, when overloaded, by completely refusing calls, rather than getting into distress in mid call.
Again most people would leave it unset. I’d only consider setting it if I found evidence of running out of processor power.
Load average is the average number of threads that are either running on a CPU core or waiting to run on one, and it measured over three different time periods, one minute, 5 minutes and 15 minutes. I suspect Asterisk uses the one minute figure. One minute is still a very long time, in voice switching terms, so if you have other users of the machine, with peaky work loads, you may need a smaller limit than if the load was very even.
For an extremely even work load, anything up to the number of cores would be OK.
Also, on load average, asterisk may not be able to multi-thread well enough to use all the cores effectively, so may, for example show overloading by task process queue overflows, rather than high load averages.
okay, I’ll do a research in that direction and will like to use your help if you can point me in the right direction.
however, i initially use ulimit descriptors 999999 but now that I have modified maxfiles from asterisk.conf, I’d see if it works.