Многие #NVMe диски отформатированы неправильно, из-за чего теряются 10% производительности, в случае использования #ext4 как файловой системы.

Как проверить?
Текущий режим использования видно если сказать:
$: lsblk -o NAME,PHY-SEC,LOG-SEC,MAJ:MIN,SIZE,MOUNTPOINTS,VENDOR,MODEL,SERIAL
...
nvme0n1        4096    4096 259:0   100500 G ...
т.е. должно быть именно 4096 и 4096, вместо 512.

Есть ли поддержка 4k?
Диск поддерживает 4096-страницы, если:
$: smartctl -x /dev/nvme0n1
...
Namespace 1 Formatted LBA Size:     4096
...
Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
0 -     512       0         2
1 +    4096       0         1
«+» указывает на текущий режим работы.

Или же через:
$: nvme id-ns -H /dev/nvme0n1
...
LBA Format  0 : Metadata Size: 0   bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good
LBA Format  1 : Metadata Size: 0   bytes - Data Size: 4096 bytes - Relative Performance: 0x1 Better (in use)
«(in use)» указывает на текущий режим работы.

Включить использование 4k?
Переключить диск можно лишь через форматирование, т.е. командой в результате которой все данные на диске будут утеряны:
$: nvme format --lbaf=1 /dev/nvme0n1

Дело не только в производительности, но ещё и греются NVMe-диски тоже меньше, если не заставлять эмулировать работу с 512-байтными блоками, а использовать в более естественном для них режиме 4k.

#hardware #nvme #linux #lang_ru @Russia