frps: 2023/11/15 10:49:24 http: Accept error: accept tcp [::]:7650: accept4: too many open files; retrying in 1s

发布时间 2023-11-15 11:25:03作者: Leonardo-li

0.错误信息表明 frps 服务在接受传入连接时遇到了问题,特别是与端口 7750 相关的错误,具体错误为 "accept tcp [::]:7750: accept4: too many open files",意味着打开文件数目过多。

这种错误通常发生在系统达到文件描述符的打开数目限制时。在类Unix操作系统中,每个进程都有同时可以打开的文件描述符数量限制。当这个限制达到时,进程无法再打开更多的文件,就会出现你看到的错误。

 

以下是一些解决和排查这个问题的步骤:(由于我的环境第一步是没有问题,所以第二步详细介绍)

1.检查当前限制:
运行以下命令检查进程的当前文件描述符限制:

ulimit -n

如果限制过低,可能需要增加它。可以在启动 frps 进程的 shell 中执行此操作,或者在配置文件中调整系统范围的限制

 

2.增加文件描述符限制:

通过修改 systemd 服务文件或其他进程管理配置,可以增加 frps 进程的文件描述符限制。查找与文件描述符限制相关的配置并进行调整。

找到 systemd 服务文件,通常systemd 服务文件位于 /etc/systemd/system/ 目录或 /lib/systemd/system/ 目录中。你可能会找到一个与 frps 相关的服务文件,文件名可能是 frps.service。

vim /lib/systemd/system/frps.service
#在[Service]下边添加

[Service]
...
LimitNOFILE=8192

说明:文件描述符限制被设置为 8192。根据自己的需求设置对应的值

 

3.重启frps服务

systemctl daemon-reload

systemctl restart frps