我正在考虑在我的 SSD 上运行带有 btrfs 的文件系统。这可能会使磁盘使用寿命更长或运行速度更快,因为如果我们压缩文件系统,写入的内容就会更少。(我知道 NTFS 不是这种情况,因为 IIRC NTFS 必须先写入未压缩的文件,然后再压缩它)。但是,如果 SSD 本身使用压缩,则使用压缩文件系统不太可能以这种方式有所帮助。
我尝试了 smartctl,它告诉我它是带有固件版本 ZYA3 的 LZT-128,但我无法找到有关该驱动器是否使用压缩的信息。
我如何测试我的 SSD 是否使用了压缩?
答案1
我们可以尝试编写伪随机数据和易压缩数据。例如,使用脚本
( sync
dd if=/dev/urandom count=1 bs=100M of=testfile.tmp
time sync
rm testfile.tmp
dd if=/dev/zero count=1 bs=100M of=testfile.tmp
time sync
) 2>&1 | grep real
该脚本首先写入 100MB 的随机数据,然后写入 100MB 的零,然后计算这些数据同步到磁盘所需的时间。
在 LZT-128 上,脚本首先给出
real 0m0.351s
real 0m0.306s
在接下来的运行中
real 0m0.304s
real 0m0.316s
由于这并没有显示出随机写入和归零写入之间的任何性能差异,这表明该驱动器未使用压缩。无论如何,这表明驱动器能够像未压缩一样快速写入少量压缩数据。