NVME-LOG-SELF-TES(1)
π NAME π
nvme-log-self-test β bestie, this one pulls the log info that the device-self-test kicked off and shows it to you. That's it, that's the vibe. π
Oh and hey β real quick β this whole page lives in the NVMe Manual. So when you see shut-down-your-brain abbreviations floatin' around, just know the manual's got your back. π«Ά
β¨ SYNOPSIS β¨
nvme [<global-options>] log self-test <device>
[--log-entries=<entries> | -e <entries>]
π¦ DESCRIPTION π¦
Okay so here's the tea β β this grabs the log pages off your NVMe device that match the self-test you asked for, and hands you back the returned structure with the 20 most recent results. Iconic. No cap.
The <device> parameter is mandatory (like, you literally cannot skip it) and it can be either:
- the NVMe character device β ex:
/dev/nvme0 - or a namespace block device β ex:
/dev/nvme0n1
On success, that returned log structure can come back at you in a couple different ways depending on which option flags you vibe with π β the structure can be parsed by the program and printed in a readable format, or you can get the raw buffer, or the json format. Choose your fighter.
By default? The log prints out in the normal readable format. Nice, clean, no chaos. πΈ
π OPTION π
-e <entries>,--log-entries=<entries>β tells the program how many DST log entries it should request from the device. Rules, bestie: it must be at least one, and it shouldn't go over the 20 entries cap. Defaults to 20 DST log entries. Respect the limit fr fr. π
π GLOBAL OPTIONS π
These bad boys are defined at the top-level nvme command, and they're all available to this subcommand. So yes, you get to use them here too. Slay.
--dry-runβ prints the command that would be executed, but doesn't actually execute it. All the fantasy, none of the commitment. π--no-ioctl-probingβ disables probing for 64-bit IOCTL support.--no-retriesβ disables retry logic on transient errors. One shot, one opportunity.-o <fmt>,--output-format=<fmt>β sets the reporting format tonormal,tabular,json, orbinary. Only one output format at a time though β pick a lane. β¨--output-format-version=<version>β selects the output format version. Version1uses the original field naming, while version2(the default) gives you more consistent and script-friendly field names. Other versions get rejected β no negotiating. π--quietβ suppresses informational messages. Errors are still reported, and--quietcancels any--verbosefor the library log level. π€«--set-options=<key=value>[,<key=value>...]β sets libnvme library options for this invocation. Supported keys areforce-4k,mi-probe-enabled,test-base-dirandtest-sysfs-dir.--timeout=<ms>β sets the timeout for the command in milliseconds.infiniteor-1waits with no time limit (0xffffffff). Patient queen energy. β³-v,--verboseβ increases the level of detail in the output. Can be specified multiple times to keep cranking that verbosity up. π
Also! These options can be set as machine-wide defaults in nvme-cli.conf(5) β but a command-line flag always overrides the file. Command line stays the main character. π
π EXAMPLES π
- Get the self-test-log and print it in a human readable format:
# nvme log self-test /dev/nvme0
- Print the raw output to a file:
# nvme log self-test /dev/nvme0 -o "binary"
- Get the self-test-log and print it in a json format:
# nvme log self-test /dev/nvme0 -o "json"
π§ NVME π§
Part of the nvme-user suite. One of the squad. π
And that's the whole page, bestie β go forth and self-test πβ¨ This masterpiece was brought to you by the NVMe crew, dated 10/30/2026, filed under NVME-LOG-SELF-TES(1). See you in the group chat π
π¦ 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