最近组了个黑群玩,在使用transmission下载时遇到too many open file问题
群晖系统连接数过大导致此错误,跟磁盘性能关系不大,此错误出现在当你保种和下载的连接数超过系统限制时触发。
比如:
- 我保种了2000个种子,每个种子都是一个单文件,基本不会出现这个错误,
- 我保种了50个种子,每个种子都是5T的大包,每个包里面都是几千个小文件,很大概率触发
- 我正在下载几个大包,很可能触发
所以为什么说,有的人说固态没事,有的人说原版没事,问题的关键不是这些因素,而是上面的,做种下载上传本质为硬盘的随机读写,理论上加缓存会有些许改善,但不是此错误的解决方案,除非你加一个和存储池一样大小的缓存。
网上已有解决方案了
群晖transmission-too-many-open-files-解决方案这个是原版
如果原版打不开,有人转载(博主说的是相关阅读,手动狗头)黑群晖软件transmission下载提示:Unable to save resume file: Too many open files (3) 解决方案
此文只为记录,防止上面的文章失效,以后找不到了。
- SSH登入群晖
- 下载文件,链接:
https://pan.baidu.com/s/1UcZySBbRmbn0ZEZq-L18yA?pwd=nqc5
- 更改rlimit程序的权限,
chmod 777 rlimit
; - 查找transmission的进程编号,
ps -ef|grep trans
,可以看到前面的数字即为进程编号; - 使用rlimit工具对进程进行更改:
./rlimit 进程编号
; - 查看是否生效,
cat /proc/您的进程编号/limits
文件,可以看到file相关的都变成了60000,至此大功告成
如果没生效,第五步时提权sudo ./rlimit 进程号
,再次检查是否生效
注意的点:
- 记得把transmission的连接数修改为较大值,比如
60000
- 在每次重启transmission进程时(比如关机),如果进程改变,需要再次修改
- 群晖系统把连接数设置为1024的阈值是有自己的考量的,且对硬盘的伤害较大,如果你的硬盘和数据比较重要,请小心谨慎