如何限制所选程序的硬盘写入速度

use*_*268 23 hard-drive speed windows-8

我的 HDD 速度为 5400RPM,当处理 10GB 大小的文件时,在该大文件完成重新创建新副本/混合/写入/等之前,无法使用计算机。取决于进程,问题是它会消耗所有硬盘速度,并且在此进程运行时无法使用其他程序。

所以我想也许我可以限制我使用的程序的硬盘写入速度,这样它就会保留免费的硬盘剩余速度,用于在处理大文件时浏览互联网或播放 mp3。

Kel*_*ari 13

不幸的是,你不能这样做。硬件是从应用程序甚至操作系统的一部分中抽象出来的。本质上,应用程序说“将其写入磁盘”,操作系统会处理它。应用程序不处理如何甚至何时写入。所有这些都是在驱动程序和内核级别处理的,没有真正的方法可以改变这一点。

即使你做到这一点,事实是你正在使用一个旋转的磁盘——而且速度非常慢——你不会看到太多的收益。驱动器不断旋转,磁头沿着磁盘移动。即使您少写入文件,磁盘也会不断寻找磁盘上的正确区域以进行读/写。

最好的选择是获得另一个驱动器并在该驱动器上完成您的工作,将您的第一个驱动器留给您的互联网、MP3 等。

PS 你没有提到你有多少内存。交换可能是速度缓慢的一个因素。根据您拥有多少 RAM,添加更多只会有所帮助。

  • 难道 Windows 版本的 Linux 'ionice` 不会接近答案吗? (2认同)

niu*_*ech 10

Process Lasso允许您确定 I/O 的优先级。从他们的常见问题解答:

v4.1 (v4.09 beta) 中的新功能,Process Lasso 具有明确的当前和默认 I/O 优先级设置,可供需要它们的人使用。这仅适用于 NT6+(Vista、Win7、...)。

但是,Vista 的 I/O 优先级基于执行 I/O 的线程的优先级,而这取决于执行 I/O 的进程的优先级等级。实际上只有两个级别的优先级可供应用程序使用,正常和非常低。虽然技术上有 5 个,但只有这两个被进程实现或可用。

因此,线程优先级的调整将传播到该线程的 I/O。通过这种方式,Process Lasso 已经进行了 I/O 优先级排序。Microsoft 建议应用程序通过设置调用线程的优先级(直接或通过调整进程优先级基类)来调整其 I/O 优先级。

另请参阅Microsoft 的有关 I/O 优先级的论文