Asterisk에 대한 데비안 증가 ulimit

Asterisk에 대한 데비안 증가 ulimit

Debian 8에서 Asterisk 13.11.2에서 열린 파일 제한에 도달하면 충돌이 발생하는 문제에 직면했습니다.

bridge_channel.c: Can't create pipe! Try increasing max file descriptors with ulimit -n

나는 다음을 사용하여 한도를 65536에서 150000으로 늘렸습니다./etc/security/limits.conf

다음을 추가했습니다.

root soft nofile 150000
root hard nofile 150000
* soft nofile 150000
* hard nofile 150000

결과는 ulimit -n이제 150000입니다.

Asterisk 프로세스의 한도를 확인하려고 하면cat /proc/xxx/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             31945                31945                processes
Max open files            1024                 4096                 files
Max locked memory         65536                65536                bytes
Max address space         unlimited            unlimited            bytes
Max file locks            unlimited            unlimited            locks
Max pending signals       31945                31945                signals
Max msgqueue size         819200               819200               bytes
Max nice priority         0                    0
Max realtime priority     0                    0
Max realtime timeout      unlimited            unlimited            us

이 문제를 해결하는 방법은 무엇입니까?

답변1

/usr/sbin/safe_asterisk에서 MAXFILES 값을 주석 해제하고 변경합니다.

예: MAXFILES = 150000

파일을 저장하고 별표를 다시 시작하세요

완료

답변2

귀하의 시스템이 /etc/security/limits.conf. 대신 별표 서비스 파일( /etc/systemd/system/asterisk.service또는 ) 에서 이러한 제한을 구성해야 합니다 /lib/systemd/system/asterisk.service. 아마도 추가하고 싶을 것입니다.

LimitNOFILE=150000

다음 Asterisk 업데이트로 변경 내용을 덮어쓸 위험이 있으므로 Asterisk와 함께 제공되는 파일을 편집하고 싶지 않을 수도 있습니다. 대신 /etc/systemd/system/asterisk.d/10-file-descriptors.conf위의 줄을 사용하여 파일을 만드는 것이 좋습니다 . 그러면 Systemd는 구성에 따라 공식 서비스 파일을 자동으로 보강합니다.

답변3

asterisk.conf에서 다음 옵션을 설정하십시오.

[options]
internal_timing = no
maxfiles = 999999

완벽한 솔루션

관련 정보