通常,尤其是当我运行一个占用大量 RAM 的长时间运行的进程时,进程会在运行到一半时崩溃,因为 Windows 认为没有更多可用磁盘空间。然后我重新启动 PC 发现一切正常,仍然有足够的空间让进程完成。为什么?
微软是否认为“如今每个人都有 500 GB 或更大的硬盘,所以我们可以随意浪费硬盘空间”?我有一台 6 年前的 MacBook Air,配备 128 GB 的 SSD,即使是较新的也只有 256 GB。
例如:我刚刚尝试使用 Deluge 将一个 16 GB 的 torrent 文件下载到我的 D: 驱动器(系统分区是 C:,99% 的 PC 都是这样),而文件资源管理器显示该驱动器上有 18 GB 的可用空间。理论上来说,这给了我 2 GB 的余地,对吗?
没有其他程序同时运行,没有在后台下载 Windows 更新(据我所知),没有其他明显的原因导致 2 GB 空间不足。然而下载在 68% 时停止了。我不得不重新启动,在 Deluge 中强制重新检查并继续,直到 84% 时再次发生这种情况!
其他重新启动后,dl 终于完成,D: 上剩下了预期的 2 GB 空间。那么为什么会发生这种情况呢?!?!我是不是忽略了一些非常明显的东西,因为我还是不明白……而且这种情况不仅发生在 Deluge 上,还发生在各种程序上。
哦,顺便说一句,我不知道这是否相关,但我已经绝不我看到我的系统 RAM 使用率超过 80%...一次也没有。我只有 4 GB,但对于我日常的工作来说,这似乎已经足够了。
答案1
发生这种情况的原因有很多,但您忽略的最关键部分是下载的工作原理。当您按常规下载 16GB 的文件时,实际上可能需要 32GB 的可用空间,因为文件在完成之前会以“部分”下载的形式下载,然后它实际上会将完成的下载写入保存的新文件。有不同的下载机制,但如果您在保存常规下载的文件夹中查看下载进度,您通常可以看到部分下载,因为它以某种方式被标记(例如“filename.partial”)。
下载 Torrent 时,还有一个额外因素,即每次尝试下载时,这些片段可能来自不同的来源,因此大小不同。因此,Torrent 下载更像是将片段“组装”成一个文件,而不是传统意义上的完整文件下载。
我能找到的关于这个过程的最佳解释是Torrent 下载的工作原理。
此外,系统还会通过其他方式暂时占用磁盘空间,直到您重新启动为止。最明显的就是在特定应用程序打开时打开的临时文件,本质上是“工作文件”,这些文件通常在关闭应用程序时被删除。在 Mac 上,还有交换文件空间;在关于 Mac 重启释放磁盘空间的问题关于这种现象,尽管并非所有的评论在技术上都是正确的。