问题描述
我在播种 mp4 文件时面临高内存消耗。
和简单的代码行
seeder.seed(fileStream,function (torrent) {
console.log('started seeding %s - %s',torrent.magnetURI,torrent.files[0].name);
});
从这个文件中收集的流的种子。
当执行到达该行时,我将面临大量 RAM 内存消耗。
之前:
之后:
7-8 GIGS 差异!?!
内存消耗正在下降,种子回调执行后 10 秒,减去 2gb,没有那么多。
我看到这个警告:
(节点:26822)MaxListenersExceededWarning:检测到可能的 EventEmitter 内存泄漏。 [Torrent] 中添加了 11 个准备就绪的侦听器。采用 发射器.setMaxListeners() 增加限制
但是,我想该库使用了很多(对于节点)侦听器,所以它 收集到我在循环中的某个地方创建它们并警告我 它,所以来源不在这里。
这可能是因为我的 PC 使用 ram 磁盘缓存,并且代码保留的不是 RAM,而是 NVram。
但是当我查看 /tmp 文件夹时,我只看到一个 1Gb 的新 Torrent 文件,因此它等于原始文件。
所以问题:
- 播种启动是如何安排的,我为什么要面对这个,你的想法?
- 是否可以在不填充原始文件的情况下为文件做种子,也许它填充文件是因为我使用 webtorrent.File.createReadStream 方法?
- 文件播种将如何扩展,我需要多少资源来播种 50 个文件,50 倍?你做了一些测试吗?
- 将原生 webtorrent-trackers 用于大文件群 (500Gb-1Tr) 是否仍然实际,还是最好自己养?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)