群晖Transmission 做种时提示红种Unable to save resume file: Too many open files

释放双眼,带上耳机,听听看~!
原因如下,Transmission这个东西,在程序启动后,会自动设置自己的Soft Limit为1024,覆盖掉我们自己修改的limit上限,这就导致在做种五六千个以上(真实文件种子,非多站点辅种达到的五六千个,可能更多)时,Transmission在向磁盘写入种子数据时报错,即上图的 Unable to save resume file,或者在你大量下载时报 too many open file

1651741084291.png

关于Transmission当前的文件限制,如下图,打开群晖的SSH,使用任意SSH工具连接以后,按如下方式填入即可找到

1651741414873.png

解决办法

  • 第一种解决方法

然后添加计划任务
群晖系统跟所有linux系统一样,有ulimit的限制,可以在群晖的ssh终端中敲入ulimit -n ,看到只有1024,这显然不够PT爱好者折腾的;

在网络上查了一圈资料,发现根本无解,群晖没有limits.conf配置文件,也不会从这边加载,也没有pam相关的so动态库;

尝试过在/etc/profile中键入 ulimit -n 65535,只适用于root用户,对普通登录用户依然是1024,群晖官方给出的答复是最大只能4096,所以如果保种不多的话,就采用这个方案吧,比较简单,以下是简单的命令:

vi /etc/profile

#最后一行加入
ulimit -n 4096

#配置生效,执行
source /etc/profile
  • 第二种解决方法

下载大佬编译好的GCC编辑器

cd /tmp
wget https://d.frps.cn/file/tools/nas/rlimit/rlimit

更改rlimit程序的权限

chmod 777 rlimit

查找transmission的进程编号,

ps -ef|grep trans

使用rlimit工具对进程进行更改:

./rlimit 进程编号

查看是否生效,cat /proc/您的进程编号/limits 文件,可以看到file相关的都变成了60000

接下来修改脚本

实现脚本,不需要我们每次手动点击

设置定时任务

1651741920447.png

添加自定义

1651741936895.png

创建任务

1651741979766.png

编辑任务

1651742093864.png

脚本内容如下

APP_NAME=transmission-daemon
PID=`ps -ef | grep -v grep | grep transmission-daemon | awk '{print $2}'`
if [ "$PID" != "" ]
then
/tmp/rlimit $PID
fi

#/tmp/rlimit为我们的下载rlimit路径

1651749128892.png

点击保存-->右击执行
1651749164413.png

查看运行效果

1651749270013.png

执行日期可以根据时间修改,服务不重启进程号不变,所以我们可以修改为每天执行一次

给TA买糖
共{{data.count}}人
人已赞赏
报错锦集

Linux -bash: fork: retry: 资源暂时不可用

2022-5-4 20:44:13

报错锦集

Linux 删除文件没有释放硬盘

2022-5-6 17:19:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索