我一直被告知不要在装有操作系统的 SSD 上安装任何东西,因为从长远来看,这最终会减慢 SSD 的速度并使其变得无用。我最近买了一台新电脑,配有 256Gb 的 SSD(谢天谢地,还有扩展空间),SSD 上只安装了操作系统。
鉴于操作系统大约有 20-30Gb,为什么只为操作系统使用这么大的容量(相对而言)?填充 SSD 没有任何坏处吗?
编辑:我被告知 SSD 不受可用容量的影响,因此问题略有改变,以更好地回答根本问题。
答案1
我一直被告知不要在安装有操作系统的同一块 SSD 上安装任何东西,因为从长远来看,这最终会减慢我的 SSD 速度并使其失效。
你被告知错了。
这种误解之所以存在,是因为人们不了解 TRIM 和垃圾收集在 SSD 上的作用。在 SSD 的早期,并非所有 SSD 都支持 TRIM,Windows 直到 Win7 SP1 才支持它,Apple 直到 Yosemite 才在非 Apple 品牌的 SSD 上支持它。更复杂的是,内置 RAID 控制器在 RAID 模式下不支持 TRIM 命令,即使 SSD 是系统中唯一的驱动器。
事实是,这是确切地TRIM 旨在消除这种情况。实际上,现在所有 SSD 和所有操作系统都支持 TRIM。此外,垃圾收集算法如今已经变得非常好,即使在未启用 TRIM 的情况下也可以缓解速度减慢。有很多原因让您希望在专用驱动器上安装操作系统,但 SSD 随着时间的推移速度减慢并不是其中之一。这种情况已经持续了好几年了。
为什么 SSD 会随着时间的推移而变慢?
因为必须先擦除单元,然后才能用新数据重新编程。当您的 SSD 是新的时,所有单元都是空的,因此不必先擦除它们,这使得编程速度更快。
当您在 Windows(或任何其他操作系统)中删除文件时,它实际上并没有删除任何内容;它只是删除了文件的目录条目。最终,该文件占用的空间将在以后被重新用于其他用途,但 SSD 无法理解 NTFS、HFS+、Ext4 等数据结构。就它们而言,这些文件占用的空间仍然是分配的块。因此,当垃圾收集器来平衡 SSD 上的磨损时,它会一丝不苟地保留那些不再有用的数据。
TRIM 如何修复此问题?
TRIM 是操作系统可以向 SSD 发出的一个特殊命令,用于告知它您已删除文件。这样,垃圾收集器就可以自行清除这些单元,而不必担心保留它们包含的数据。这样可以防止 SSD 随着时间的推移而变慢,因为总有新鲜的、未分配的单元可供 SSD 使用。
答案2
直到几个月前,SSD 的价格还相当昂贵,所以对于很多人来说,购买 512 GB 的 SSD 并不是一件容易的事情,因此在普通硬盘上安装程序是一个不错的选择,因为 Windows 可以流畅运行,而从普通硬盘加载程序只需要稍长一点的时间。但当然没有理由不在 SSD 上安装任何东西。
一个好主意是将所有库(图片、视频、音乐等)和数据从 SSD 移动到便宜的大硬盘上,并谨慎选择在 SSD 上安装的软件。浏览器或 Steam 等软件可以放在 SSD 上,但大型游戏文件可以放在硬盘上。
答案3
人们可能期望操作系统性能至关重要,而这些 SSD 上的 I/O 吞吐量有限,并且任何对该带宽的竞争都是不可接受的。
但实际上,操作系统并不是您花费所有时间的地方。这种“仅优化操作系统”的策略听起来像是“精英主义”和孤立思维。大多数时候,您都希望程序尽可能快地执行。如果操作系统因为“必须等待程序数据写入/读取”而变慢一点,那真的没什么区别;在 SSD 上安装程序 + 操作系统而不是仅安装操作系统的总体效果是,程序操作比在普通硬盘上更快。
现在,我想说有一个例外。因为有太多的写入和重写,所以如果可能的话,交换文件应该放在普通硬盘上。理想情况下,您有足够的 RAM 来不使用该交换文件,但出于某种原因,MS Windows(至少到 Win 8)更喜欢将操作系统/程序/数据交换到交换文件,以便拥有文件缓存空间。也许有一种方法可以调整此首选项,但如果您不重新读取文件缓存中的内容,这似乎不是最佳行为方式。