关于比特精灵的磁盘缓存

优异的磁盘缓存性能一直是比特精灵的特点之一。尤其是从v3.2.1版本加入自动磁盘缓存功能以来,极大的简化了用户的磁盘缓存设置,同时又提供了很好的磁盘缓存性能。v3.6.0.300在之前的基础上,进一步优化了磁盘缓存性能,并修正了一些潜在的问题,如下所述:
1,之前的版本在配置内存较低的系统(配置内存<=1GB)中有时候会出现内存被系统缓存耗尽的情况(耗尽后系统会自动释放一些缓存),此时会导致程序的磁盘缓存性能低下;
2,在Vista及更新的系统中,由于系统内存管理方面的变动从而导致某些情况下程序使用的磁盘缓存低于可用值;
3,之前的版本在下载某些超大文件(>10GB)时,在极端情况下由于临时数据量统计值的溢出导致程序实际占用的内存超出设置值;
v3.6.0.300有效的解决了以上问题,并在其它方面做了一些完善。下面对比特精灵的磁盘缓存设置做一下详细说明(以v3.6.0.300为准):
 
程序的默认设置如下:

 
各项设置说明如下:
1,根据实际情况动态决定磁盘缓存的使用:此选项指示比特精灵是否使用自动磁盘缓存功能。如果选中,则表示使用。如果不选中,则程序会提示用户设置每个任务最多使用的磁盘缓存。可设置值在1-1024之间。如果该设置值大于1024,程序也最多使用1024MB的缓存,但在程序行为上会有细微差别(大于1024的设置会使程序尽量避免系统缓存的使用,通常不推荐设置超过1024的值)。
2,自动清除长时间不使用的内存块:此选项指示比特精灵是否定期清理长时间不使用的内存块。如果选中,则清理,否则,比特精灵会尽量把数据块保留在内存中,直到磁盘缓存用满为止(然后程序会自动清理)。
3,禁止系统缓存写入操作:通常情况下,Windows系统会对磁盘写入操作进行缓存(延时写入),在有些情况下,如保存到移动硬盘或突然断电的情况下,有可能造成数据的丢失。此选项指示系统不要对写入操作进行缓存以确保数据及时写入到磁盘。
4,数据块下载完成后立即写入磁盘:在之前的版本中(指v3.3或v3.5等),程序会在完成量达到一定的比例后再批量将数据写入磁盘。这样有可能造成的后果与(3)类似。这个选项指示比特精灵在某一个完整的数据块(即所谓的数据分块,通常为256KB,512KB等)下载完成后,就尽快将其写入磁盘。如果不选中此选项,则程序行为与之前版本类似。
 
此外,在高级设置中还有一项与磁盘缓存有关的设置:bt.protocol.unfinishedtimeout。该设置指示比特精灵把一定时间内未继续下载的未完成数据块尽量写入磁盘以降低内存占用,这个时间值默认是120秒(v3.6.0.300会根据磁盘缓存大小进行自动调整,最大会自动调整到300秒)。由于v3.6.0.300会自动调整,所以不再建议用户修改此数值。如果用户确实要修改,则建议值如下:1GB内存的用户可以改成300,1GB以上可以改成600,超过600的数值有可能导致程序在下载较大的文件时实际内存占用大大超过设置值

 
推荐设置
1,系统总内存在1GB或1GB以下:按默认设置即可;
2,系统总内存在1GB到2GB之间:视个人偏好可以适当调整最多使用的内存(默认是512,如果对内存占用无所谓,则可以调整到768或1024,否则按默认设置即可);
3,系统总内存在2GB以上:除了可以参考(2)调整最多使用的内存外,还可以视个人偏好取消“自动清除长时间不使用的内存块”、修改bt.protocol.unfinishedtimeout等。

3,禁止系统缓存写入操作

关于这一条有点理解上的问题,是禁止BS使用系统缓存,还是禁止windows缓存操作,如果是后者,对windows系统性能影响相当大

这个选项只影响系统把数据写入磁盘的时机,并不影响BS或系统

这个选项只影响系统把数据写入磁盘的时机,并不影响BS或系统是否使用缓存。