nvme - Man Page
the NVMe storage command line interface utility (nvme-cli)
Examples (TL;DR)
- List all nvme devices:
sudo nvme list
- Show device information:
sudo nvme smart-log device
Synopsis
built-in plugin:
nvme <command> <device> [<args>]
extension plugins:
nvme <plugin> <command> <device> [<args>]
Description
NVM-Express is a fast, scalable host controller interface designed to address the needs for not only PCI Express based solid state drives, but also NVMe-oF(over fabrics).
This nvme program is a user space utility to provide standards compliant tooling for NVM-Express drives. It was made specifically for Linux as it relies on the IOCTLs defined by the mainline kernel driver.
Nvme Commands
The utility has sub-commands for all admin and io commands defined in the specification and for displaying controller registers. There is also an option to submit completely arbitrary commands. For a list of commands available, run "nvme help".
Nvme CLI Sub-Commands
Main commands
- nvme-admin-passthru(1)
Admin Passthrough Command
- nvme-compare(1)
IO Compare
- nvme-error-log(1)
Retrieve error logs
- nvme-flush(1)
Submit flush
- nvme-dsm(1)
Submit Data Set Management
- nvme-format(1)
Format namespace(s)
- nvme-fw-activate(1)
F/W Activate (in old version < 1.2)
- nvme-fw-commit(1)
F/W Commit (in > 1.2)
- nvme-fw-download(1)
F/W Download
- nvme-fw-log(1)
Retrieve f/w log
- nvme-get-feature(1)
Get Features
- nvme-get-log(1)
Generic Get Log
- nvme-telemetry-log(1)
Telemetry Host-Initiated Log
- nvme-changed-ns-list-log(1)
Retrieve Changed Namespace List Log
- nvme-smart-log(1)
Retrieve Smart Log
- nvme-ana-log(1)
Retrieve ANA(Asymmetric Namespace Access) Log
- nvme-endurance-log(1)
Retrieve endurance Log
- nvme-effects-log(1)
Retrieve effects Log
- nvme-self-test-log(1)
Retrieve Device Self-test Log
- nvme-get-ns-id(1)
Retrieve namespace identifier
- nvme-help(1)
NVMe CLI Help
- nvme-id-ctrl(1)
Identify Controller
- nvme-id-ns(1)
Identify Namespace
- nvme-id-nvmset(1)
Identify NVM Set List
- nvme-id-iocs(1)
Identify I/O Command Set
- nvme-create-ns(1)
Create a new namespace
- nvme-delete-ns(1)
Delete existing namespace
- nvme-attach-ns(1)
Attach namespace
- nvme-detach-ns(1)
Detach namespace
- nvme-io-passthru(1)
IO Passthrough Command
- nvme-list-ns(1)
List all nvme namespaces
- nvme-ns-descs(1)
Identify Namespace Identification Descriptor
- nvme-list(1)
List all nvme controllers
- nvme-list-ctrl(1)
List controller in NVMe subsystem
- nvme-list-subsys(1)
List NVMe subsystems
- nvme-reset(1)
Reset a NVMe controller
- nvme-device-self-test(1)
Issue Device Self-test Command
- nvme-read(1)
Issue IO Read Command
- nvme-write(1)
Issue IO Write Command
- nvme-write-zeroes(1)
Issue IO Write Zeroes Command
- nvme-write-uncor(1)
Issue IO Write Uncorrectable Command
- nvme-resv-acquire(1)
Acquire Namespace Reservation
- nvme-resv-register(1)
Register Namespace Reservation
- nvme-resv-release(1)
Release Namespace Reservation
- nvme-resv-report(1)
Report Reservation Capabilities
- nvme-security-recv(1)
Security Receive
- nvme-security-send(1)
Security Send
- nvme-dsm(1)
Issue Data Set Management Command
- nvme-copy(1)
Issue Simple Copy Command
- nvme-set-feature(1)
Set Feature
- nvme-show-regs(1)
Show NVMe Controller Registers
- nvme-discover(1)
Send Get Log Page request to Discovery Controller
- nvme-connect-all(1)
Discover and connect to all NVMe-over-Fabrics subsystems
- nvme-connect(1)
Connect to an NVMe-over-Fabrics subsystem
- nvme-dim(1)
Send Discovery Information Management command to a Discovery Controller
- nvme-disconnect(1)
Disconnect from an NVMe-over-Fabrics subsystem
- nvme-disconnect-all(1)
Disconnect from all NVMe-over-Fabrics subsystems
- nvme-get-property(1)
Reads and shows NVMe-over-Fabrics controller property
- nvme-media-unit-stat-log(1)
Retrieve and show the configuration and wear of media units
- nvme-supported-cap-config-log(1)
Retrieve and show the list of Supported Capacity Configuration Descriptors
- nvme-boot-part-log(1)
Retrieve Boot Partition Log
- nvme-capacity-mgmt(1)
Capacity Management Command
- nvme-check-dhchap-key(1)
Generate NVMeoF DH-HMAC-CHAP host key
- nvme-check-tls-key(1)
Validate NVMeoF TLS PSK
- nvme-cmdset-ind-id-ns(1)
I/O Command Set Independent Identify Namespace
- nvme-endurance-event-agg-log(1)
Retrieve Endurance Group Event Aggregate Log
- nvme-fid-support-effects-log(1)
Retrieve FID Support and Effects log
- nvme-gen-dhchap-key(1)
Generate NVMeoF DH-HMAC-CHAP host key
- nvme-gen-hostnqn(1)
Generate NVMeoF host NQN
- nvme-gen-tls-key(1)
Generate NVMeoF TLS PSK
- nvme-get-lba-status(1)
Get LBA Status command
- nvme-id-domain(1)
NVMe Identify Domain List
- nvme-id-ns-lba-format(1)
NVMe Identify Namespace for the specified LBA Format index
- nvme-lba-status-log(1)
Retrieve LBA Status Information Log
- nvme-list-endgrp(1)
NVMe Identify Endurance Group List
- nvme-ns-rescan(1)
Rescans the Nvme namespaces
- nvme-nvm-id-ctrl(1)
NVMe Identify Controller NVM Command Set
- nvme-nvm-id-ns(1)
NVMe Identify Namespace NVM Command Set
- nvme-nvm-id-ns-lba-format(1)
NVMe Identify Namespace NVM Command Set for the specified LBA Format index
- nvme-persistent-event-log(1)
Retrieve Persistent Event Log
- nvme-predictable-lat-log(1)
Retrieve Predictable Latency per Nvmset Log
- nvme-pred-lat-event-agg-log(1)
Retrieve Predictable Latency Event Aggregate Log
- nvme-primary-ctrl-caps(1)
NVMe Identify Primary Controller Capabilities
- nvme-reset(1)
Resets the controller
- nvme-rpmb(1)
Replay Protection Memory Block commands
- nvme-sanitize-log(1)
Retrieve sanitize log
- nvme-set-property(1)
Set a property and show the resulting value
- nvme-show-hostnqn(1)
Show NVMeoF host NQN
- nvme-subsystem-reset(1)
Resets the subsystem
- nvme-supported-log-pages(1)
Retrieve the Supported Log pages details
- nvme-verify(1)
verify command
- nvme-show-topology(1)
Show NVMe topology
Plugins/Vendor extension commands
- nvme-intel-id-ctrl(1)
Intel - NVMe Identify Controller
- nvme-intel-internal-log(1)
Retrieve Intel device’s internal log and save to file
- nvme-intel-lat-stats(1)
Retrieve NVMe Identify Controller, return result and structure
- nvme-intel-market-name(1)
Intel vendor specific marketing name log page
- nvme-intel-smart-log-add(1)
NVMe Intel Additional SMART log page
- nvme-intel-temp-stats(1)
NVMe Intel Additional SMART log page for temp stats
- nvme-huawei-id-ctrl(1)
NVMe huawei Identify Controller
- nvme-huawei-list(1)
List all recognized Huawei NVMe devices
- nvme-dera-stat(1)
NVMe Dera Device status and Additional SMART log page request
- nvme-micron-clear-pcie-errors(1)
Clears correctable PCIe correctable errors of given Micron device
- nvme-micron-internal-log(1)
Retrieve Micron device’s internal logs and save to given zip file
- nvme-micron-nand-stats(1)
Retrieves NAND statistics of given micron device
- nvme-micron-pcie-stats(1)
Retrieves pcie error statistics for given micron device
- nvme-micron-selective-download(1)
Performs selective firmware download
- nvme-micron-smart-add-log(1)
Retrieves NAND statistics
- nvme-micron-temperature-stats(1)
Retrieves temperature information of given micron device
- nvme-ocp-internal-log(1)
Retrieves and parses OCP Telemetry DA1 and DA2 logs.
- nvme-netapp-ontapdevices(1)
Display information about ONTAP devices
- nvme-netapp-smdevices(1)
Display information for each NVMe path to an E-Series volume
- nvme-toshiba-clear-pcie-correctable-errors(1)
Reset the PCIe correctable errors count to zero
- nvme-toshiba-vs-internal-log(1)
Retrieve a Toshiba device’s vendor specific internal log
- nvme-toshiba-vs-smart-add-log(1)
Retrieve a Toshiba device’s vendor specific extended SMART log page
- nvme-transcend-badblock(1)
Retrieve Transcend NVMe device’s bad blocks
- nvme-transcend-healthvalue(1)
Use NVMe SMART table to analyze the health value of Transcend device
- nvme-virtium-show-identify(1)
Show a complete detail of identify device information in json format
- nvme-virtium-save-smart-to-vtview-log(1)
Periodically save smart attributes into a log file
- nvme-wdc-cap-diag(1)
Retrieve WDC device’s diagnostic log and save to file
- nvme-wdc-capabilities(1)
Display WDC plugin command capabilities
- nvme-wdc-clear-assert-dump(1)
Clears the assert dump (if present)
- nvme-wdc-clear-fw-activate-history(1)
Clears the firmware activate history table
- nvme-wdc-clear-pcie-corr(1)
Clears the pcie correctable errors field
- nvme-wdc-clear-pcie-correctable-errors(1)
Clears the pcie correctable errors returned in the smart-log-add command
- nvme-wdc-cloud-SSD-plugin-version(1)
Display WDC plugin Cloud SSD Plugin Version
- nvme-wdc-drive-essentials(1)
Retrieve WDC device’s drive essentials bin files
- nvme-wdc-drive-log(1)
Retrieve WDC device’s drive log and save to file
- nvme-wdc-drive-resize(1)
Send NVMe WDC Resize Vendor Unique Command
- nvme-wdc-enc-get-log(1)
Send NVMe WDC enc-get-log Vendor Unique Command
- nvme-wdc-get-crash-dump(1)
Retrieve WDC device’s crash dump
- nvme-wdc-get-drive-status(1)
Send the NVMe WDC get-drive-status command
- nvme-wdc-get-latency-monitor-log(1)
Display latency monitor log page data in human readable format
- nvme-wdc-get-pfail-dump(1)
Retrieve WDC device’s pfail crash dump
- nvme-wdc-id-ctrl(1)
Send NVMe Identify Controller, return result and structure
- nvme-wdc-log-page-directory(1)
Retrieves the list of Log IDs supported by the drive
- nvme-wdc-namespace-resize(1)
Resizes the device’s namespace
- nvme-wdc-purge-monitor(1)
Send NVMe WDC Purge-Monitor Vendor Unique Command
- nvme-wdc-purge(1)
Send NVMe WDC Purge Vendor Unique Command
- nvme-wdc-smart-add-log(1)
Send NVMe WDC smart add log Vendor Unique Command
- nvme-wdc-vs-drive-info(1)
Send the NVMe WDC vs-drive-info command
- nvme-wdc-vs-error-reason-identifier(1)
Retrieve WDC device’s telemetry log error reason identifier field
- nvme-wdc-vs-fw-activate-history(1)
Execute NVMe WDC vs-fw-activate-history Vendor Unique Command
- nvme-wdc-vs-internal-log(1)
Retrieve WDC device’s internal firmware log and save to file
- nvme-wdc-vs-nand-stats(1)
Send NVMe WDC vs-nand-stats Vendor Unique Command
- nvme-wdc-vs-telemetry-controller-option(1)
Disable/Enable the controller initiated option of the telemetry log page
- nvme-wdc-vs-temperature-stats(1)
Display temperature-related statistics
- nvme-zns-changed-zone-list(1)
Retrieve Changed Zone log for the given device
- nvme-zns-close-zone(1)
Closes one or all zones
- nvme-zns-finish-zone(1)
Finishes one or all zones
- nvme-zns-id-ctrl(1)
Send NVMe Zoned Command Set Identify Controller
- nvme-zns-id-ns(1)
Send NVMe Zoned Command Set Identify Namespace
- nvme-zns-offline-zone(1)
Offlines one or all zones
- nvme-zns-open-zone(1)
Opens one or all zones
- nvme-zns-report-zones(1)
Retrieve and display the Report Zones data structure
- nvme-zns-reset-zone(1)
Resets one or all zones
- nvme-zns-set-zone-desc(1)
Set extended descriptor data for a zone
- nvme-zns-zone-append(1)
Send an NVMe write command, provide results
- nvme-zns-zone-mgmt-recv(1)
Zone Management Receive command
- nvme-zns-zone-mgmt-send(1)
Zone Management Send command
- nvme-zns-zrwa-flush-zone(1)
Flush LBAs associated with a ZRWA to a zone
- nvme-inspur-nvme-vendor-log(1)
NVMe Inspur Device Vendor log page request
Returns
All commands will behave the same, they will return 0 on success and 1 on failure.
Further Documentation
See the freely available references on the Official NVM-Express Site[1].
Authors
This is written and maintained by Keith Busch[2].
Reporting Bugs
Patches and issues may be submitted to the official repository at https://github.com/linux-nvme/nvme-cli or the Linux NVMe mailing list linux-nvme[3]
Nvme
Part of the nvme suite
Notes
- Official NVM-Express Site
http://nvmexpress.org - Keith Busch
mailto:kbusch@kernel.org - linux-nvme
mailto:linux-nvme@lists.infradead.org