![]() |
1
8
1)Windows在内存中缓存最近读取的文件。这本书 Windows Internals 包括对这项工作方式的出色描述。现代版本的Windows还使用了一种称为Superfetch的技术,该技术将根据使用历史记录和ReadyBoost(可缓存到闪存驱动器)抢先将磁盘内容提取到内存中,从而实现更快的随机访问。所有这些都将提高首次运行后从磁盘访问数据的速度。 2)目录确实不影响磁盘上的布局。对驱动器进行碎片整理会将文件数据分组在一起。打开Windows Vista将自动对磁盘进行碎片整理。理想情况下,您希望进行大量的顺序读取并最小化您的写入。小的随机访问和交叉读写会严重损害性能。您可以使用 Windows Performance Toolkit 配置您的磁盘访问。 |
![]() |
2
8
你编号的问题似乎已经回答了。如果您仍然想知道如何提高硬盘驱动器的读取速度,下面是一些提示:
|
![]() |
3
3
是的,Windows(和大多数现代操作系统)将最近读取的文件数据保存在未使用的RAM中,这样,如果在不久的将来再次请求该文件数据,则该文件数据在RAM中已经可用,并且可以避免磁盘访问。 至于提高磁盘访问速度,您可以尝试对驱动器进行碎片整理,但我不希望它有太多帮助。与RAM访问相比,驱动器访问速度很慢,这就是RAM缓存提供如此快速的原因。 |
![]() |
4
2
作为一种诊断测试,您能否准确地测量第一次加载所需的时间? 然后用它来确定转移率。然后你可以用这个传输率和你跑步时得到的数据进行比较。 HD Tune . 值得一提的是,我自己运行这个程序,用我的Western Digital RE3驱动器(可用的7200 rpm SATA驱动器之一)获得了44.2 MB/s的最小速度、87 MB/s的平均速度、110 MB/s的最大读取速度。 所有这些的要点是看您自己的应用程序是否在尽其所能地做得最好。换句话说,除了高速缓存之外,你不能以比硬盘更快的速度读取文件。所以,如果你达到了这个极限,就没有别的事可做了。 |
![]() |
5
2
另外,确保在测试期间没有耗尽内存。为正在读取的物理驱动器运行perfmon和monitor memory>available bytes和physical disk>disk read bytes/sec。监控过程的I/O也是一个好主意。请记住,后者结合了所有I/O(包括网络)。 您应该期望从单个平均SATA驱动器进行50 MB/s的顺序读取。一对好的带区串行SCSI驱动器将为您提供大约220 MB/s的内存。如果您看到可用内存接近于零,那将是您的问题。如果在你第一轮阅读后它仍然是平的,那它与你的应用程序有关系。 |
![]() |
7
0
对于疯狂的答案,您可以尝试格式化驱动器,使您的信息放在最快的部分,看看这是否有帮助。 Tom's Hardware 对如何做到这一点进行了回顾。 |
![]() |
7BeholdeR7 · 文件夹的重量超过其中的文件(六倍) 2 年前 |
![]() |
charjabug · 如何将原始文件系统的很大一部分复制到文件中? 6 年前 |
![]() |
Mengfan Ma · 在何处执行磁盘调度 6 年前 |
![]() |
Levi · 通过指针访问数据(重新解释转换)vs。或->运算符 7 年前 |
![]() |
Will Haley · 为什么文件校验和会不一致地失败? 7 年前 |