我想了解 fstrim 是否以及如何改善长时间未修剪的 ssd 驱动器的性能,因为它被不支持修剪的操作系统使用,或者假设操作系统/文件系统不支持 SSD。假设最近的 ssd 支持修剪。这纯粹是为了我的理解和知识。
据我了解,只有当您知道操作系统/文件系统中已释放但未通知 SSD 的扇区时,才能发出修剪命令,因此 SSD 并未真正删除它们。因此,写入这些扇区将需要删除现有数据,然后写入新数据。
让我们考虑这个例子。1. 最近的 SSD 具有原生修剪支持,但旧的操作系统不支持 SSD(例如 Windows 2000)2. 我使用该系统一年左右,假设 Windows 2000 不支持 SSD,我的系统会随着时间的推移而变慢。3. 现在假设我从这个系统中删除了很多文件(比如删除了除操作系统之外的所有内容),释放了近 200gb。我假设这些信息不会进入 SSD,因为不支持修剪4. 现在我计划使用支持 SSD 的操作系统,比如最近的 Linux 发行版5. 在 Linux 安装期间,我使用 ext4 格式化了驱动器6. 我运行 fstrim
这就是我的问题所在。运行 fstrim 会有帮助吗?我认为不会,因为对于新安装的 Linux 系统,还没有太多删除,所以从 Linux 的角度来看没有什么可修剪的。
如果我的理解正确,我认为 ATA 安全擦除将是此处重置性能的唯一选项?还有其他吗?
提前谢谢了。
答案1
我想我找到了答案,blkdiscard 就是答案。在使用 ext4 格式化现有的 windows2000 分区之前,我可以使用 blkdiscard 应用程序丢弃属于该分区的所有块。
可能我甚至不需要明确地执行此操作,因为使用最新的 Linux 发行版(mkfs.ext4)进行格式化将隐式执行分区的 blkdiscard。
blkdiscard 比 ATA 安全擦除更好,因为它在分区级别工作,但 ATA 安全擦除将重置整个驱动器。
现在如果有人能证实我的发现那就太好了。
谢谢。