使用的工具——MobaXterm
中文版GitHub地址——点击
前置文章——让群晖可以和其他linux系统一样ssh后台查看到所有文件(可以不看)
前置文章——修改群晖最大连接数(必看)
需求文件(点击文件名下载)——rlimit
原因
linux系统有一个最大文件打开数,当应用达到最大文件打开数后,再打开文件就会报too many open file
TR提示可能是too many open file 也可能 no file descriptors available
对于一般的程序,我们只需要在网上找到当前系统的修改方法修改即可,但是对于 Transmission 这个BT来说它不行
原因如下,Transmission这个东西,在程序启动后,会自动设置自己的Soft Limit为1024,覆盖掉我们自己修改的limit上限,这就导致在做种五六千个以上(真实文件种子,非多站点辅种达到的五六千个,可能更多)时,Transmission在向磁盘写入种子数据时报错,即上图的 Unable to save resume file,或者在你大量下载时报 too many open file
使用的工具——MobaXterm
输入
ps -ef |grep transmission-daemon
查看tr的进程ID
此处为21049(每个人都不一样,这个ID是需要的)
ps -ef |grep transmission-daemon
输入cat /proc/进程ID/limits
我这边为cat /proc/21049/limits
cat /proc/进程ID/limits
可以看到open files为1024
对于bt,pt而言是不够的
首先将文件 rlimit 下载下来放入群晖的任意文件夹内
我放入的是/volume1/test/文件夹内
然后点击
控制面板——任务计划——新增——计划的任务——用户定义的脚本
名称随便写
账号为root
点击计划
修改为一分钟触发一次
点击任务设置
输入以下内容
APP_NAME=transmission-daemon
PID=`ps -ef | grep -v grep | grep transmission-daemon | awk '{print $2}'`
if [ "$PID" != "" ]
then
/volume1/test/rlimit $PID
fi
/volume1/test/rlimit为你自己rlimit文件存放路径
APP_NAME=transmission-daemon
PID=`ps -ef | grep -v grep | grep transmission-daemon | awk '{print $2}'`
if [ "$PID" != "" ]
then
/volume1/test/rlimit $PID
fi
点击保存输入密码提交运行
右键运行一次
回到MobaXterm
输入
ps -ef |grep transmission-daemon
查看tr的进程ID
此次为21049
ps -ef |grep transmission-daemon
输入cat /proc/进程ID/limits
我这边为cat /proc/21049/limits
cat /proc/进程ID/limits
可以看到已经生效了
此方法也适合qb
qb用户自定义指令为
APP_NAME=qbittorrent-nox
PID=`ps -ef | grep -v grep | grep qbittorrent-nox | awk '{print $2}'`
if [ "$PID" != "" ]
then
/volume1/test/rlimit $PID
fi