技术改变生活

Technology changes life,Life-long learning

群晖transmission too many open files 解决方案

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

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

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

但这个数量如果对保种,或者同时下载量过大的朋友完全不够用,下面还有一个变态的方法,就是用C程序动态的去更改进程的最大文件和socket数量,喜欢折腾朋友可以编译以下C程序:

群晖不自带GCC编译器,需要自己折腾,比较麻烦,我这边已经编译好了相关的二进制程序,大家拿去可以直接用,使用方法如下:

  • 进入nas的ssh终端,随便什么目录均可;
  • 下载我编译好的程序,wget https://www.mopsky.com/rlimit;
  • 更改rlimit程序的权限,chmod 777 rlimit;
  • 查找transmission的进程编号,ps -ef|grep trans,可以看到前面的数字即为进程编号;
  • 使用rlimit工具对进程进行更改:./rlimit 进程编号;
  • 查看是否生效,cat /proc/您的进程编号/limits 文件,可以看到file相关的都变成了60000,至此大功告成。
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注