为了优化SSD的性能,拱维基要求运行nvme id-ns /dev/nvme0n1并评估输出,特别是以lbaf开头的最后一行的输出。如果有多个lbaf条目,则驱动器支持多个扇区大小选项。来自Arch wiki的最相关的信息是,
相对性能( rp )值表示哪种格式将提供最好的性能,0是最佳的。
我的NVMe SSD确实有两个lbaf条目,但不清楚哪个条目更优化。下面是我的系统上上述nvme命令的相关输出:
lbaf 0 : ms:0 lbads:9 **rp**:0x2 (in use)
lbaf 1 : ms:0 lbads:12 **rp**:0x1因此,这两个选项都显示以0开头的rp。我该如何理解x2和x1在结尾的意义?
发布于 2021-12-21 01:12:36
使用-H选项和命令一起以人类可读的格式获得结果。应该是这样的:
# nvme id-ns -H /dev/nvme0n1
...
LBA Format 0 : Metadata Size: 0 bytes - Data Size: 512 bytes - Relative Performance: 2 Good (in use)
LBA Format 1 : Metadata Size: 0 bytes - Data Size: 4096 bytes - Relative Performance: 1 Better前缀0x是一个常见的指示符,表示下面的数字是十六进制的,因此rp之后的实际数字分别是2和1。
SSD性能受到所谓的写入放大的影响,因为SSD擦除块通常比普通的文件系统512字节块大,因此为了重写一个块,SSD必须每次删除和重写整个擦除块(包括多个文件系统块)。如果文件系统看到的块大小与SSD的擦除块大小相匹配,则可以避免这种情况。(如果操作系统知道擦除块大小,并且将使用写入缓存策略,将写入到更大的连续块以进行补偿,它也可以最小化,但可能不会完全消除。)
因此,使用SSD,将它们配置为比经典块大小更大的块通常会提高性能。然而,有许多(旧的)操作系统和软件还不能利用使用更大块大小的可能性,因此一些SSD只是被优化以处理512字节的块大小,并尽可能地使用内部缓冲。
然而,还有许多其他因素会影响磁盘或SSD的性能,因此一些制造商显然希望避免声称,对于所有可能的情况来说,特定的块大小肯定是“最佳”的。因此,有些SSD可能根本不使用rp值0。
https://unix.stackexchange.com/questions/683269
复制相似问题