我经常运行大型程序,这导致我的 SSD(Windows C:)损失大量空间。我想到了一个主意,将缓存位置与单独的驱动器(始终插入)进行符号链接。问题是我找不到所述缓存的位置。如果您想知道为什么我不能只使用内置解决方案来解决我的问题,请看以下情况:
我还无法禁用写入缓存,因为这意味着我将无法顺利运行大型程序。
答案1
系统很可能已经在执行您希望它执行的操作。写入磁盘的操作会缓存在内存中,这样就可以一次写入大块,因为写入较大的数据块时性能会更好。对于传统的旋转硬盘,写入顺序对于性能极为重要,因此在内存中缓存可以以更高效的顺序写入数据。
SSD 没有排序问题,但其数据必须以块为单位写入,并且每个块的写入次数有限。因此,操作系统会实施缓存,以便将对同一块的多个逻辑写入整理到内存缓存中,然后再将其发送到 SSD。当一个块被写入次数过多时,它会失败并从好块列表中删除,这就是 SSD 空间会随着时间的推移而减少的原因。
对于大量使用文件 I/O 的应用程序来说,这很成问题。解决这个问题的唯一方法是减少使用 SSD。一种方法是向系统添加 RAM,以便在必须写入之前缓存更多数据。这最适合某些磁盘使用模式。如果您有一个经常写入的小型工作集,另一个选择是安装 RAMDisk,它在内存中模拟驱动器。这对性能有很大影响,这就是我推荐的 TMP/TEMP 文件夹。它的缺点是,对于一些会产生大量临时文件的应用程序来说,空间不足(想想千兆像素全景图组装、蓝光写入等)。
最后,在大多数台式机上,您只需添加标准 HDD 并将其用于某些应用程序即可。许多软件可以安装在自定义路径上,但最重要的是,它们使用的磁盘通常可以单独指定。例如,Photoshop 允许用户指定暂存盘,而 Autopano Giga 有一个专用设置来选择存储中间文件的位置,这些文件可能会变得很大。它们比 SSD 慢很多,但使用寿命很长。