Openfile Issue
Hi all,
Now a days getting openfile issues on asterisk quite often even setting system soft limit to 20000 and hard limit to 25000 and issue usually occurs during openfile socket consumed by system and asterisk is quite smaller than the soft or hard limit. See below system and asterisk logs;
2016:10:13_08:19:01 | Too many LOG file moved successfully – messages
2016:10:13_08:19:01 | Asterisk openfile count: 1252
2016:10:13_08:19:01 | Total system open files count: 4091
2016:10:13_08:19:01 | SIP channels: 93 active calls|1563 calls processed
2016:10:13_08:19:01 | Asterisk SIP peers: 366
2016:10:13_08:19:01 | Asterisk service uptime: System uptime: 4 days, 4
hours, 12 minutes, 33 seconds
Last reload: 4 days, 4 hours, 12 minutes, 33 seconds
Privilege escalation protection disabled!
See https://wiki.asterisk.org/wiki/x/1gKfAQ for more details.
2016:10:13_08:19:01 | Socket Summary
Total: 648 (kernel 758)
TCP: 20 (estab 8, closed 5, orphaned 0, synrecv 0, timewait 1/0), ports 14
Transport Total IP IPv6
* 758 – –
RAW 0 0 0
UDP 422 419 3
TCP 15 14 1
INET 437 433 4
FRAG 0 0 0
2016:10:13_08:19:01 | Logged successfully all the required details
[2016-10-13 08:18:41] ERROR[50690][C-0000062a] res_timing_timerfd.c: Failed to create timerfd timer: Too many open files
[2016-10-13 08:18:41] ERROR[50690][C-0000062a] acl.c: Cannot create socket
[2016-10-13 08:18:41] ERROR[50690][C-0000062a] res_timing_timerfd.c: Failed to create timerfd timer: Too many open files
[2016-10-13 08:18:41] ERROR[50690][C-0000062a] acl.c: Cannot create socket
[2016-10-13 08:18:41] ERROR[50689][C-00000629] res_timing_timerfd.c: Failed to create timerfd timer: Too many open files
[2016-10-13 08:18:41] ERROR[50689][C-00000629] acl.c: Cannot create socket
[2016-10-13 08:18:40] ERROR[49913][C-000005b7] cdr_csv.c: Unable to re-open master file /var/log/asterisk//cdr-csv//Master.csv : Too many open files
[2016-10-13 08:18:40] ERROR[2983] acl.c: Cannot create socket
[2016-10-13 08:18:40] ERROR[49833][C-0000059c] cdr_csv.c: Unable to re-open master file /var/log/asterisk//cdr-csv//Master.csv : Too many open files
[2016-10-13 08:18:40] ERROR[2983] acl.c: Cannot create socket
[2016-10-13 08:18:40] ERROR[2983] acl.c: Cannot create socket
Further added, I’m using CentOS 6.5 as OS.
Please advise what changes required for permanently fixing this random issue.
7 thoughts on - Openfile Issue
What do you get when you do:/limits ?
cat /proc/
See below;
[root@abc asterisk]# cat /proc/50771/limits Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 10485760 unlimited bytes Max core file size unlimited unlimited bytes Max resident set unlimited unlimited bytes Max processes 256389 256389
processes Max open files 20000 25000 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 256389 256389 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Date: Thu, 13 Oct 2016 09:37:34 -0400
Strange. What’s the output of: | wc -l
lsof -u
I know that on some CentOS7 setups we needed to remove the file 90-nproc.conf as well as add to the Asterisk init script:
ulimit -s unlimited ulimit -n 65535
ulimit -Hn 65535
ulimit -u 65535
ulimit -Hu 65535
[root@abc asterisk]# lsof -u 50771 | wc -l
0
BTW, I’m using CentOS 6.5
Regards,
Ahmed Munir Chohan
50771 is the PID. I am talking about the user. for instances if running as root (which you should never do) then:
lsof -u root | wc -l
See below;
[root@abc asterisk]# lsof -u 50771 | wc -l
0
BTW, I’m using CentOS 6.5
See below output;
[root@abc ~]# lsof -u root | wc -l
5116
From: Dovid Bender