NVME-DEVICE-SELF-(1)

🌸 NAME 🌸

nvme-device-self-test is literally here to perform the necessary tests so you can observe the performance and the parameters. This is the NVME-DEVICE-SELF-(1) page from the NVMe Manual, bestie β€” main character energy only. πŸ’…

✨ SYNOPSIS ✨

       nvme [<global-options>] device-self-test <device>
                               [--namespace-id=<NUM> | -n <NUM>]
                               [--self-test-code=<NUM> | -s <NUM>]
                               [--wait | -w]

πŸ’– DESCRIPTION πŸ’–

Okay so it initiates the required test based on the user input. Slay.

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1). No cap.

On success, the corresponding test is initiated β€” iconic.

The results of this test can be queried via nvme self-test-log <device>. Obsessed with a follow-up query, fr fr.

πŸŽ€ OPTIONS πŸŽ€

  • -n <NUM>, --namespace-id=<NUM> β€” indicate the namespace in which the device self-test has to be carried out. The broadcast value 0xffffffff can also be given as all or -1.
  • -s <NUM>, --self-test-code=<NUM> β€” this field specifies the action taken by the device self-test command: 0h: show current state of device self-test operation; 1h: start a short device self-test operation; 2h: start a extended device self-test operation; eh: start a vendor specific device self-test operation; fh: abort the device self-test operation. Default is 0h.
  • -w, --wait β€” wait for the device self test to complete before exiting. The device self-test is aborted by a SIGINT signal interrupt for the wait. This option is ignored if the abort self-test code option is specified.

πŸ’œ GLOBAL OPTIONS πŸ’œ

The following options are defined at the top-level nvme command and are available to this subcommand:

  • --dry-run β€” print the command that would be executed, but do not actually execute it.
  • --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 to normal, tabular, 'json, or binary. Only one output format may be used at a time.
  • --output-format-version=<version> β€” select the output format version. Version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names. Other versions are rejected.
  • --quiet β€” suppress informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level.
  • --set-options=<key=value>[,<key=value>...] β€” set libnvme library options for this invocation. Supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff).
  • -v, --verbose β€” increase the level of detail in the output. May be specified multiple times to further increase verbosity.

These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.

🌈 EXAMPLES 🌈

  • Start a short device self-test in the namespace-id 1:
# nvme device-self-test /dev/nvme0 -n 1 -s 1
  • Abort the device self-test operation in the namespace-id 1:
# nvme device-self-test /dev/nvme0 -n 1 -s 0xf

πŸ‘‘ NVME πŸ‘‘

Part of the nvme-user suite. Periodt.

πŸ’Œ Cute sign-off: this page is brought to you by the NVMe manual and dated 10/30/2026, bestie. NVME-DEVICE-SELF-(1) out β€” mwah πŸ’‹

πŸ“¦ where this page comes from