树莓派论坛

 找回密码
 立即注册

transmission-daemon@Pi的缓存怎么设啊?

cometsky 发表于 2013-2-14 19:43:01 | 显示全部楼层 |阅读模式
我的环境: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缓存的情况下没发生过问题,现在突出怀疑大缓存导致读写出问题。

有时候早上一起来就发现是出错状态,电影也没下多少,估计正晚上都处于报错状态,大家对此有什么建议呢?
感谢任何回复!
jocover 发表于 2013-2-15 23:31:48 | 显示全部楼层
用移动硬盘看看
geekr 发表于 2013-2-15 23:45:21 | 显示全部楼层
感觉是读卡器还是SD卡的读写出问题,应该和软件无关。最明显的现象就是频繁出现读写错误或死机。换个U盘或其他外部存储设备,或读卡器试试。
cometsky  楼主| 发表于 2013-2-16 09:45:45 | 显示全部楼层
感谢geekr和jocover

我拔掉读卡器和32G的卡,改用系统的8G SD卡(Class10)下载了一个5G的文件,经过现在差不多24小时,缓存为32M,没发现任何问题!
topdogs 发表于 2013-2-16 15:58:26 | 显示全部楼层
我的缓存为1M。下载一个1G多的东西,下载一段时间后,ssh就无法连接到raspberry了,而板子上的五个灯全亮,link灯闪。机子就这么挂了。每次都这样。我也很郁闷。
yancheng 发表于 2013-2-16 16:25:08 | 显示全部楼层
PI CPU天生瓶頸 有人說大概在5 MB/s 左右是個障礙
加上 PI的Ethernet又是透過USB
但10M網路應該沒問題

但網速在上去 問題又出現 我用50M網路測試
pio.png
用top看CPU 100% 往上超頻到800 測試還是 100%
其實光wget 就 CPU 100%

另外,我在 全志A10 CPU的機子也有這問題 ><"
cometsky  楼主| 发表于 2013-2-17 19:59:42 | 显示全部楼层
sasmike 发表于 2013-2-17 16:27
看来我那256的RPI就不用做下载机了…… 本想用迅雷离线拖个贝多芬全集……

应该没问题,缓存设小的时候,对内存占用不大,不过最好用移动硬盘或者高速U盘之类的。

今天我连移动硬盘,还是设置32M的缓存,GPU分割16M内存,在TOP里面看Transmission只占了90多M内存,加上系统的,也能剩下不少。
zzcn 发表于 2013-3-11 20:44:52 | 显示全部楼层
我记得刚安装好系统时,transmission下载是不怎么好内存的,当初mount了2个U盘,一个NTFS,一个EXT4格式,下载数据在EXT4的U盘上。最近用了一个大硬盘,EXT3格式,用Top查看内存占用,刚开始剩余内存很大,Cached内存占用很小,然后一直增大,剩余内存不停减少,最后可用内存只有10多兆时停止。
设置了cache-size-mb参数,不起作用。使用service transmission-daemon stop停止服务,可用内存马上恢复到几百兆。
cometsky  楼主| 发表于 2013-3-14 12:05:41 | 显示全部楼层
zzcn 发表于 2013-3-11 20:44
我记得刚安装好系统时,transmission下载是不怎么好内存的,当初mount了2个U盘,一个NTFS,一个EXT4格式,下 ...

那个Cached memory其实可以理解为是磁盘缓存,可以看作是可用内存的,参考:http://www.linuxhowtos.org/System/Linux%20Memory%20Management.htm (第二段)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 树莓派论坛 ( 粤ICP备15075382号-1 )