non*_*ity 6 windows-7 usb-flash-drive
如果我将一个 8GB 的文件从 PC 复制到 USB 闪存驱动器,速度将从大约 30 MB/s 开始......也许是 28 MB/s,然后逐渐地,一分钟后,它会下降到 15 MB/ s 并最终稳定在 5.8 MB/s。
但我想如果是硬盘,那么可能有RAM缓存和内部硬盘缓存,并且会使从PC到硬盘的文件复制一开始看起来很快。
但是对于 USB 闪存驱动器,USB 闪存驱动器本身应该没有内部缓存。是否有 RAM 缓存,这就是为什么初始复制看起来如此之快的原因?
Windows 将尽可能长时间地缓冲写入,因此第一个块的写入速度将比其余块快。显示器显示的是整体平均值,所以它最初很高,然后慢慢下降到闪存驱动器的实际写入速度,大概略低于 5.8MB/s。
即使 Windows 默认不会在缓存中长时间保存像这样的 USB 驱动器的写入(写入的数据会在一小段时间内或在文件关闭时立即刷新到磁盘),它仍然会在有活动写入时缓冲一点写入仍在继续,并且复制操作可能有自己的缓冲区,因此它将尽可能快地继续读取,直到缓冲区满为止,因此初始速度看起来会比整体速度更快。这也是为什么在长时间的写入操作后,复制进度显示有时会停留在 100% 一两秒钟 - 当复制操作关闭文件时,对“关闭”功能的调用会阻塞,直到最后几个数据块被书面。
可以告诉操作系统执行完全无缓冲的写入操作,但很少有代码这样做(Windows 资源管理器不会),因为它阻碍了许多潜在的小优化(在操作系统和驱动器的控制器中),可以加快写操作。
| 归档时间: |
|
| 查看次数: |
6600 次 |
| 最近记录: |