首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何理解nvme命令的输出?

如何理解nvme命令的输出?
EN

Unix & Linux用户
提问于 2021-12-21 00:14:52
回答 1查看 767关注 0票数 3

为了优化SSD的性能,拱维基要求运行nvme id-ns /dev/nvme0n1并评估输出,特别是以lbaf开头的最后一行的输出。如果有多个lbaf条目,则驱动器支持多个扇区大小选项。来自Arch wiki的最相关的信息是,

相对性能( rp )值表示哪种格式将提供最好的性能,0是最佳的。

我的NVMe SSD确实有两个lbaf条目,但不清楚哪个条目更优化。下面是我的系统上上述nvme命令的相关输出:

代码语言:javascript
复制
lbaf  0 : ms:0   lbads:9  **rp**:0x2 (in use)
lbaf  1 : ms:0   lbads:12 **rp**:0x1

因此,这两个选项都显示以0开头的rp。我该如何理解x2和x1在结尾的意义?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-12-21 01:12:36

使用-H选项和命令一起以人类可读的格式获得结果。应该是这样的:

代码语言:javascript
复制
# 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。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/683269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档