LinuxでNVME HMBを確認/変更する方法は?

LinuxでNVME HMBを確認/変更する方法は?

新しいDRAMless NVME SSDは、システムメモリの一部をHMB(ホストメモリバッファ)として使用します。

LinuxでNVME HMBを確認/変更する方法は?
(正しく機能していることを確認するか、動作を変更してください)

ベストアンサー1

NVMe基本仕様2.0aに準拠,ホストメモリバッファのNVME機能IDは0x0dです。次のコマンドを使用して確認できますnvme get-feature

# nvme get-feature /dev/nvme0 -H -f 0x0d
get-feature:0xd (Host Memory Buffer), Current value:0x000001
        Memory Return       (MR): False
        Enable Host Memory (EHM): Enabled
        Host Memory Descriptor List Entry Count (HMDLEC): 10
        Host Memory Descriptor List Address     (HMDLAU): 0x0
        Host Memory Descriptor List Address     (HMDLAL): 0xffff7000
        Host Memory Buffer Size                  (HSIZE): 9728

/sys/class/nvme/そのNVMeコントローラのカタログにもいくつかの情報があります。

カーネルモジュールには、コントローラごとの最大HMBサイズを制限するために使用できるパラメータnvmeもあります。max_host_mem_size_mb

他のnvmeモジュールパラメータをuse_cmb_sqes使用して、I / O SQのコントローラのメモリバッファ使用を無効にできます。私がこれを正しく理解していると仮定すると、これはすべてのNVMeがDRAMレスシステムのように動作するようにするために使用できます。

でモジュールパラメータの現在の値を確認でき/sys/module/nvme/parameters/、そこから一部のパラメータを動的に変更することもできます。

おすすめ記事