我目前正在组装一台新电脑,其规格如下:
- Windows 7旗舰版
- 英特尔酷睿 2 2.6
- 2GB 内存
- 硬盘驱动器
- 150GB SATA 硬盘
- 180GB SATA 硬盘
- 200GB SATA 硬盘
- 512MB Express GFX 卡
现在我的问题主要与硬盘有关,大多数人都知道计算机的主要瓶颈是硬盘,事实上它需要一个硬盘,它不能同时从两个地方读取/写入。
我正在尝试加快硬盘的 I/O 速度,这对我自己来说是一个学习曲线,但我认为这个问题是合理的,但我不确定可能影响我所考虑的事情的其他因素。
因为我有 3 个硬盘,我想知道是否可以将 Windows 操作系统分布在多个硬盘上,这样大部分操作系统(程序文件)就可以放在单独的驱动器上,从而分散 I/O 瓶颈以减轻负载。
现在我明白了 Linux 发行版是这样做的,例如主文件夹可以放在单独的硬盘上。
- 会不会是好的将 I/O 分散到多个硬盘上的想法
- 这在基于 Windows 的操作系统上可行吗?
- 还有其他方法可以加速 I/O 吗
如上所述,这不是我需要在这台计算机上做的事情,但如果可能的话,我想知道该怎么做。
问候
我读到的一个可能的解决方案是,在安装 Windows 7 并进入“创建用户”屏幕后,如果您按Shift+ F10,您将获得命令提示符,然后您可以执行以下操作:
- 在硬盘上创建分区。
- 将所有文件从用户数据和程序文件复制到新位置
- 打开注册表编辑器并更改一些键以指向新位置
- 继续创建用户,应该一切正常。
答案1
这里的瓶颈是硬盘 - 正如您提到的那样 - 但这不是您描述的并发问题。事实上硬盘比 RAM 慢很多倍。
如果你想加快你的计算机速度:
- 购买更多 RAM - 比如 4GB,因为 2GB 基本上是当今的最低标准
- 买最快的硬盘——我认为是 7200RPM
但是,如果您想“扩展”您的操作系统,您可以通过跨磁盘条带化来实现。查看 RAID 以了解更多信息,因为通常,这种条带化是为了在硬盘发生故障时复制数据。http://en.wikipedia.org/wiki/RAID
- 我还建议将 Duel Core 换成 Core 2 Duo,它们要好得多
记忆是如何运作的
您的计算机会将尽可能多的数据存储在 RAM 中。这样,当计算机需要任何数据(无论是文件还是指令)时,它都可以简单地查看内部内存以获得超快速响应。如果该数据不在内存中,则必须转到硬盘驱动器来获取。这需要花费大量时间,因为物理设备速度很慢。
当计算机的 RAM 满了之后,它必须将一些内容重新存储到硬盘上,并从硬盘中获取所需的新内容并将其放入 RAM 中。如果您正在运行一个庞大的程序或同时做很多事情,那么您就会遇到计算机不断将内容从 RAM 移动到硬盘的情况,因为您的工作内存集(您真正需要和正在使用的内容)不再适合 RAM - 这称为抖动,您会听到硬盘发出噪音,并且您的计算机会变得非常缓慢和迟钝。
因此,RAM 越多,可以放入超快速内存中的内容就越多(而不是从 HD 中获取),等待 HD 的时间就越少,计算机的整体运行速度就越快。
回答您的问题:
Would it be a good idea to spread the I/O across several hard drives
就加速电脑而言,你实际上不会看到太大的差别。购买更多 RAM 是最有效的解决方案。
如果您有备份意识,RAID 绝对不是一个坏主意,而且可以实现您的目标。
这在基于 Windows 的操作系统上可行吗?
是的,但更常见的是物理方式执行,并在 BIOS 中控制。请参阅此操作指南:http://www.pcmag.com/article2/0,2817,2249572,00.asp
还有其他方法可以加速 I/O 吗
从性价比上来说:
- 购买更多 RAM
- 购买更好的处理器
- 购买 7200RPM 磁盘
答案2
如果您的意思是将一个驱动器用于操作系统,将另一个驱动器用于所有数据存储,那么您可以这样做。
您需要做的就是在一个硬盘上安装 Windows,然后一旦您进入 Windows,只需简单地转到C:\Users\**USERNAME**
,您将看到所有用户文件夹,只需右键单击每个文件夹并转到属性。然后转到位置,将位置更改为第二个硬盘的位置,例如,如果您的第二个驱动器号是 H,那么要更改文档文件夹位置,只需使用 H:\Documents
这将在第二个驱动器上执行所有数据存储,而所有操作系统 I/O 将在 OS 驱动器上完成。
编辑:
要移动其他 Windows 文件夹的位置,请考虑使用mklink
windows 命令
以下是有关如何执行此操作的简单教程: http://windows7themes.net/windows-7-mklink-command-use-to-create-symbolic-links.html
如果你这样做,你可能会遇到错误
mklink /J "C:\Program Files" "H:\Program Files"
因为它抱怨 C:\Program Files 存在。
以下是解决此问题的一种可能方法: http://tuts4tech.net/2009/08/05/windows-7-move-the-users-and-program-files-directories-to-a-different-partition/
答案3
折衷措施:无论何时安装任何东西,都告诉它安装到另一个驱动器上的某个目录(我讨厌称它们为“文件夹”)。这确实很乏味。
更好的答案是继续像往常一样安装系统,然后使用“动态磁盘”并将系统和启动分区转变为双成员 RAID-1(镜像)集。
这为您提供了极好的读取吞吐量,因为任何读取都可以从任一驱动器完成 - 如果一个驱动器繁忙,另一个驱动器可以完成。这对于写入来说并不是很好,因为所有内容都必须写入两次(每个磁盘一次),但操作系统不会花费大量时间写入大部分系统或启动分区。如果“写入时间”让您感到困扰,那么您可以将第三个驱动器用于 \users 和页面文件。
冗余性是其一大优点:两个磁盘始终保持同步,因此如果其中一个磁盘发生故障,您仍然可以使用另一个磁盘。无需“运行备份”,备份就在那里。想要保留异地备份?关闭,取出一个驱动器,将其存放在安全的地方。放入另一个驱动器,然后启动。您的系统将(应该)正常启动,但磁盘管理器会抱怨镜像设置已损坏。告诉它使用新驱动器重新建立镜像,它将复制所有内容,然后您又有了 RAID-1 阵列。
这一页:http://sourcedaddy.com/windows-7/mirroring-boot-and-system-volumes.html对如何完成这一操作有一个相当完整的描述。
动词。Sap.:“系统”卷是 BIOS 启动的卷;它很小(通常为 100 MB),上面有 \BCD 目录。“启动”卷是 \Windows、\Program files 等所在的卷。
答案4
我能找到的只有以下两样东西:
似乎将一些 Windows 文件放在另一个驱动器(不在系统驱动器中)上来提高性能的唯一方法是只将交换文件放在另一个驱动器上。我见过一些人甚至在另一个驱动器上创建 TEMP 文件夹,并将 TEMP 和 TMP 的 Windows 环境变量更改为指向新文件夹。
和
这是一个注册表黑客,它告诉 Windows 使用更多内存进行文件 I/O,但我不确定这是否与大型系统缓存相同。由于我有 8 GB 的 RAM,所以我这样做了,并且确实发现我的 PC 速度更快了。