簡體   English   中英

如何增加在 Ubuntu 上運行的 Asterisk 的打開文件描述符

[英]How to increase open file descriptors for Asterisk running on Ubuntu

我遇到了這個,我發現只有一篇關於這個的帖子有修復,但不是那么清楚,而且已經有幾年了。

Ubuntu 20.04 星號 16.9

錯誤信息:

[Jul 20 21:37:16] WARNING[1742] alertpipe.c: Failed to create alert pipe with eventfd(), falling back to pipe(): Too many open files
[Jul 20 21:37:16] WARNING[1742] alertpipe.c: Failed to create alert pipe: Too many open files

星號 PID:1130

檢查進程的限制。 最大打開文件軟限制為 1024

root@trueringless-asterisk:/home/esundberg# cat /proc/1130/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            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             64057                64057                processes 
Max open files            1024                 4096                 files
Max locked memory         16777216             16777216             bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       64057                64057                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us        

編輯 /etc/asterisk/asterisk.conf

[options]
maxfiles = 4096                 ; Maximum amount of openfiles.

停止星號進程

# systemctl stop asterisk

確保星號已停止

# ps -ef | grep asterisk

啟動星號進程

# systemctl start asterisk

獲取新的星號 PID

# ps -ef | grep asterisk
root      4925*     1 16 05:07 ?        00:00:00 /usr/sbin/asterisk

檢查他們現在在 4096 的文件限制的進程

# cat /proc/4925/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            8388608              unlimited            bytes     
Max core file size        0                    unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             64057                64057                processes 
Max open files            4096                 4096                 files     
Max locked memory         16777216             16777216             bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       64057                64057                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us        

最簡單的解決方案是重寫您用於啟動星號或 /usr/sbin/safe_asterisk.sh 腳本的 systemd 或 init.d 腳本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM