将临时文件放入 ramdisk 会产生任何负面影响吗?

将临时文件放入 ramdisk 会产生任何负面影响吗?

我计划将所有临时文件转储到 ramdisk 中以提高性能并减少对主存储的写入,因此将移动两个临时文件夹(在系统和用户文件夹中)。

我担心的是,这个决定可能会导致系统或应用程序无法按预期运行。现在想到的是,有些临时文件不应该每天删除,而应该保留一段时间,因为它们可能对应用程序或系统的正常运行至关重要,并在适当的时候删除。

也许对于浏览历史记录(缓存)来说,这样做是安全的,因为它只不过是图像或文本的位和字节,以便将来再次访问网站时可以更快地进行预加载。

非常感谢任何建议。

答案1

将临时目录移动到 RAMDrive 以节省 SSD 似乎是合理的,就像一些 unix 发行版所做的那样,但我在尝试时遇到了一些奇怪的问题(使用 OSFMount 作为 RAMDrive 应用程序)。我正在使用 Microsoft Visual Studio 进行 C/C++ 开发,当用户的 TEMP 目录位于 RAMDrive 上时,无法使用性能分析。即使我试图通过将 TEMP 文件夹符号链接到 RAMDrive 上的文件夹来欺骗 MS。如果 TEMP 文件夹在另一个磁盘(不是系统磁盘)上,它会非常有效,但当它在 RAMDrive 上时总是会失败。NPM 安装在 RAMDrive 上也会失败,因为 Node gyp 构建存在一些类似的问题(我认为这也与 Visual Studio 有关)。最后,RAMDrive 上的 TEMP 文件夹也会阻止某些 Windows 更新成功完成,因此在 Windows 下,如果避免在 RAMDrive 上使用 Windows TEMP 文件夹,您可以免于大量耗时的错误搜索。

答案2

我的建议是不要这么做。原因如下:

首先,临时文件很少用于密集的读写操作,因此通常不会成为性能瓶颈。

其次,Windows 内存缓存的工作方式与 RAM 磁盘非常相似,因此对于大多数操作来说,其效率都一样高。微软已经对其进行了数十年的调优,因此效果非常好。

第三,正如您所说,一些临时文件远非临时,因此每次重启时删除它们可能会导致某些应用程序丢失上下文或无法从崩溃中恢复。

答案3

一定要确定要移动哪些临时文件。有些临时文件在应用程序关闭后仍在使用。

将这些移动到 RAM 磁盘,然后 RAM 磁盘出现问题可能会对应用程序造成灾难性的后果。

一定要确定自己要移动的是什么。

尝试删除临时文件。如果无法删除它们(正在使用),则不要将它们移动到 RAM 磁盘。

这只是一项测试。还要查看哪个应用程序或操作系统的一部分拥有临时文件。这是另一种方法。

大量临时文件夹,例如 AppData 本身是用户配置文件的一部分,移动起来可能非常麻烦。AppData Temp 中的一些文件夹/文件可以移动,但有些则不能。

相关内容