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
 - nvme-dapustor-smart-log-add(1)
 - 
NVMe DapuStor Additional SMART log page
 
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.
Authors
This is written and maintained by Keith Busch.
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
NVME
Part of the nvme suite