查看fdlimit.c文件代码中,写死了1024限制,,看看有什么办法修改它。
tail -f /var/log/messages
May 2 20:22:24 localhost transmission-daemon[15483]: Changed open file limit from 65535 to 1024 (fdlimit.c:380)
最好的解决办法是修改程序源代码 然后重新安装
Changed open file limit from 65535 to 1024 (fdlimit.c:380) 看他们回帖源代码里面关键的一段应该是这个
限制,同时连接数会导致连接的用户量变少 而且一个peer可能打开的文件不止一个 因为会请求多个区块 不同的区块会分散到不同的文件中
改源代码理论就可以彻底解决 ,也不知道软件官方为什么没有改这个代码 可能改了会引起其他的什么问题?
自己看服务器却是输出
Couldn't create socket: Too many open files (fdlimit.c:524)
Unable to save resume file: Too many open files (torrent.c:537)
Couldn't save temporary file "/home/transmission/.config/transmission/stats.json.tmp.G9FIc4": Too many open files (variant.c:1280)
源代码中理论上来说对应的文件是CMakeLists.txt 第124行
set(CMAKE_${L}_FLAGS "${CMAKE_${L}_FLAGS} -DFD_SETSIZE=1024")
据说3.1版本会解决,编译需要libcurl 7.28 https://github.com/transmission/transmission/commit/2da97b25fa43948fb24014535e880efed1a2fbdf https://github.com/transmission/transmission/pull/893#issuecomment-720727051