视频直播点播流媒体服务器报accept4 () failed (24: Too many open files)错误解决方法

当我们从网络摄像头上接收视频时,首先要了解协议(RTSP/RTMP/HTTP),然后是解码格式(MKV,RMVB),之后才是将视频(H264)和音频(AAC)格式数据分别解码为图像(RGB/YUV)和声音(PCM),再根据时间戳同步到流媒体平台播放。我们的视频直播点播流媒体服务器EasyDSS就是RTMP推流流媒体服务器。

上一篇我们介绍了当很多用户同时观看同一路视频流导致程序报错的解决方法,有兴趣可以移步这里:[报worker_connections are not enough错误](报worker_connections are not enough错误)。

在Linux操作系统中,运行视频直播点播服务器EasyDSS时,也会出现同样的问题,即在kernel/logs/error.log和/logs/error.log中会出现accept4 () failed (24: Too many open files)错误。

在Linux 操作系统中,一切皆文件,网络连接也是文件,当用户激增时,每一个用户分配了一个或多个网络连接,最终导致超过了系统默认的打开文件数量最大值。

我们可以通过以下步骤来解决:

1.首先运行以下命令查看目前系统的打开文件数量限制。

2.查看系统可以支持的最大打开文件数量。

3.在/etc/security/limits.conf 文件里,最后加上下图中的两行代码即可。不可超过2中查询的最大数量。

注:部分机器需要重启操作系统才可起作用。

原文地址:https://www.cnblogs.com/easydss/p/12963746.html