NVME-GET-REG(1)
π NVME-GET-REG π
okay so this is a page from the nvme manual and honestly? it's a little baddie. it's called nvme-get-reg and it's here to read controller registers and show you what's inside. let's get into it π«Ά
β¨ NAME β¨
nvme-get-reg β read and show the defined NVMe controller register π
πΈ SYNOPSIS πΈ
nvme [<global-options>] get-reg <device>
[--register=<name>[,<name>...] | -r <name>[,<name>...]]
[--offset=<offset> | -O <offset>]
π¦ DESCRIPTION π¦
so basically it reads controller registers and shows them to you π and it does this two different ways depending on the vibe of your controller:
- for an NVMe over PCIe controller, it reads them from its PCI memory space
- for an NVMe over Fabrics controller, it reads its properties with Property Get commands
the <device> parameter is mandatory β no cap, you cannot skip it β and it has to be the nvme admin character device (example: /dev/nvme0). π
on a fabrics controller: if you ask for a register that isn't a property of a fabrics controller, or a property the controller doesn't implement, the command fails β but only after the other registers are shown. so you get the tea first, then the error. π
π OPTIONS π
-r <name>[,<name>...],--register=<name>[,<name>...]β the registers to show, by name, in register order. pick from:cap,vs,intms,intmc,cc,csts,nssr,aqa,asq,acq,cmbloc,cmbsz,bpinfo,bprsel,bpmbl,cmbmsc,cmbsts,cmbebs,cmbswtp,nssd,crto,pmrcap,pmrctl,pmrsts,pmrebs,pmrswtp,pmrmscl,pmrmscu. and yes bestie, the option may be given more than once π§-O <offset>,--offset=<offset>β a register to show, by offset or name, e.g.0x14orcc. the offset has to be the one of a register, ok? it can't just be any random number you feel like typing π
β οΈ ok so the options--cap,--vs,--ccand so on from earlier versions β one for each register β still work, but they're deprecated: use--register. like they still slay but they're kinda living in the past π
π GLOBAL OPTIONS π
these are defined at the top-level nvme command and they're available to this subcommand:
--dry-runβ print the command that would be executed, but do not actually execute it. all the planning, none of the commitment π--no-ioctl-probingβ disable probing for 64-bit IOCTL support.--no-retriesβ disable retry logic on transient errors.-o <fmt>,--output-format=<fmt>β set the reporting format tonormal,tabular,json, orbinary. only one output format may be used at a time, so don't get greedy π--output-format-version=<version>β select the output format version. version1uses the original field naming, while version2(default) provides more consistent and script-friendly field names. other versions are rejected β no negotiating π«--quietβ suppress informational messages. errors are still reported, and--quietcancels any--verbosefor the library log level. it's giving "i'm not reading all that" β¨--set-options=<key=value>[,<key=value>...]β set libnvme library options for this invocation. supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir.--timeout=<ms>β set the timeout for the command in milliseconds.infiniteor-1waits without a time limit (0xffffffff). literally forever. bestie will wait π«Ά-v,--verboseβ increase the level of detail in the output. may be specified multiple times to further increase verbosity. stack 'em π
these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file β CLI stays the main character π
with -v, the fields of each register are shown decoded. the JSON output has the value of each register under its name, and with -v you get an object of the value and its decoded fields:
{
"cc": 4587521
}
β EXAMPLES β
- show the Controller Configuration register
# nvme get-reg /dev/nvme0 --register=cc
register : 0x14 (Controller Configuration), value: 0x460001
- show the Controller Capabilities and Status registers, decoded
# nvme get-reg /dev/nvme0 -r cap,csts -v
π NVME π
part of the nvme-user suite. iykyk π
and that's the whole page bestie, no notes π this was the NVMe manual, NVME-GET-REG(1), dated 10/30/2026 β go read your registers, they're literally iconic β¨ππ₯
π¦ where this page comes from
- arch rolling: nvme-cli 3.2-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms