我的环境:512M的raspi、8G SD卡Class10(系统)、32G SD卡Class4(下载空间)、腾达W311U+无线网卡,外网是10M光纤;raspbian、transmission-daemon 2.52。
32G SD卡格式化成ext4,transmission是一般设置,一般下载的文件都在10G左右,开始的时候(缓存默认4M)都很稳定,最高下载速度能到1.4MB/S(用大电脑下载能维持在这个速度),可是下载过程中下载速度总会间断的突然下降几十秒钟,导致整体平均速度被拉低很多(平均下来只有几百KB/S了),应该是在分配新磁盘空间导致期间下载停滞,然后我开始尝试修改cache-size-mb选项。
开始是256M,可用内存很快见底,后来改成128M,大概1小时左右transmission就会报错“Error: Read-only file system (/home/pi/udisk/xxxx.mkv)”之类的错误,解决很简单:umount然后再mount就好,但也有个别时候整个raspi会挂掉。再改为64M大概能支撑几个小时才需要重新mount。现在改成32M正在测试(正写帖子的时候又出现了一次)。
通过TOP检测,系统的free mem有时会变得很少(十几M),cached mem变成上百兆。cpu的wa(等待系统IO)也会间断出现几秒钟的大比例占用。但是总的来说大缓存会大大提高平均下载速度,应该是平缓了磁盘空间分配所浪费的时间。
现在分析的原因一个是32G SD卡的级别太低Class4,或者是读卡器不稳定,要么就是transmission的缓存功能有问题,导致mount出问题后数据被写到了8G SD上的未mount的原始目录中(权限设为只读不能写入,导致Read-only的错误)。SD卡和读卡器在4M缓存的情况下没发生过问题,现在突出怀疑大缓存导致读写出问题。
有时候早上一起来就发现是出错状态,电影也没下多少,估计正晚上都处于报错状态,大家对此有什么建议呢?
感谢任何回复!
|