Linux 什么时候做 SSD 垃圾回收?

Sha*_*ane 5 linux ssd ext3 trim

我试图了解我的计算机何时进行垃圾收集并释放 SSD 上以前使用的块。

这是由操作系统还是 SSD 控制器处理的任务?
当我删除文件(永久从垃圾箱中)时会发生这种情况,还是等到我尝试覆盖该块?
日志文件系统如何影响该驱动器的性能和维护?
当我的电脑空闲并且屏幕被锁定时,系统有什么特别的事情吗?
如何判断我的固件和/或内核是否支持 TRIM 命令?

就其价值而言,我使用的是 64 位 Ubuntu 9.04(内核版本 2.6.28-15-generic)和带有 LUKS 的全盘加密。SSD 是戴尔 256GB,带有三星控制器,带有用于 root 的 ext3 文件系统和用于引导的 ext2 文件系统。没有其他硬盘驱动器,没有其他操作系统。

我已经通读了AnandTech 文章,讨论了 TRIM 和 Intel 和 OCZ 以及 pages 和 blocks,这首先引发了我的问题 - 我不知道我自己的设置在此分析中的位置。虽然我对上述问题的答案感兴趣,但我更感兴趣的是学习如何回答这些问题,如果这有意义的话。

Kir*_*hak 4

Anand发表了一篇新文章,其中包含有关 SSD 魔法的更多信息:) 我建议您也阅读它。TRIM在那里 详细的 解释。一般来说,它说修剪很好,但是:

...不幸的是,还没有驱动器正确支持 TRIM...

目前该支持仅在测试版固件中提供。因此,如果您的操作系统和控制器固件都支持 TRIM,那么它将大致以这种方式工作:一旦某个文件被永久删除,您的操作系统就会将该命令发送到 SSD 控制器。是否会在此时或其他时间实际修剪完全取决于您的驱动器固件实现。

如果您的操作系统不支持 TRIM,那么您有可能从驱动器制造商那里获得擦除工具。您可以在此处阅读其工作原理。

如果您的驱动控制器不支持 TRIM,那么也许您可以获得其固件的更新或某些测试版。

希望有帮助。