NVME-SET-FEATURE(1) NVMe Manual NVME-SET-FEATURE(1)

# [NAME](#NAME)

nvme-set-feature - Sets an NVMe feature, returns applicable results

# [SYNOPSIS](#SYNOPSIS)

```
nvme [<global-options>] set-feature <device>


                        [--namespace-id=<nsid> | -n <nsid>]


                        [--feature-id=<fid> | -f <fid>]


                        [--value=<value> | -V <value>]


                        [--uuid-index=<uuid-index> | -U <uuid_index>]


                        [--data-len=<data-len> | -l <data-len>]


                        [--data=<data-file> | -d <data-file>]


                        [--save | -s]


                        [--cdw12=<cdw12> | -c <cdw12>]
```

# [DESCRIPTION](#DESCRIPTION)

Submits an NVMe Set Feature admin command and returns the applicable results. This may be the feature’s value, or may also include a feature structure if the feature requires it (ex: LBA Range Type).

The &lt;device&gt; parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

On success, the value sent to the device is displayed

# [OPTIONS](#OPTIONS)

-n &lt;nsid&gt;, --namespace-id=&lt;nsid&gt;

Sets the feature for the given nsid. This is optional and most features do not use this value. The broadcast value 0xffffffff can also be given as *all* or *-1*.

-f &lt;fid&gt;, --feature-id=&lt;fid&gt;

The feature id to send with the command. Value provided should be in hex.

Value Definition 0x01 | *arbitration* Arbitration 0x02 | *power-mgmt* Power Management 0x03 | *lba-range* LBA Range Type 0x04 | *temp-thresh* Temperature Threshold 0x05 | *err-recovery* Error Recovery 0x06 | *volatile-wc* Volatile Write Cache 0x07 | *num-queues* Number of Queues 0x08 | *irq-coalesce* Interrupt Coalescing 0x09 | *irq-config* Interrupt Vector Configuration 0x0a | *write-atomic* Write Atomicity Normal 0x0b | *async-event* Asynchronous Event Configuration 0x0c | *auto-pst* Autonomous Power State Transition 0x0d | *host-mem-buf* Host Memory Buffer 0x0e | *timestamp* Timestamp 0x0f | *kato* Keep Alive Timer 0x10 | *hctm* Host Controlled Thermal Management 0x11 | *nopsc* Non-Operational Power State Config 0x12 | *rrl* Read Recovery Level Config 0x13 | *plm-config* Predictable Latency Mode Config 0x14 | *plm-window* Predictable Latency Mode Window 0x15 | *lba-sts-interval* LBA Status Information Report Interval 0x16 | *host-behavior* Host Behavior Support 0x17 | *sanitize* Sanitize Config 0x18 | *endurance-evt-cfg* Endurance Group Event Configuration 0x19 | *iocs-profile* I/O Command Set Profile 0x1a | *spinup-control* Spinup Control 0x1b | *power-loss-signal* Power Loss Signaling Config 0x1c | *perf-characteristics* Performance Characteristics 0x1d | *fdp* Flexible Data Placement 0x1e | *fdp-events* FDP Events 0x1f | *ns-admin-label* Namespace Admin Label 0x20 | *key-value* Key Value Configuration 0x21 | *ctrl-data-queue* Controller Data Queue 0x78 | *emb-mgmt-ctrl-addr* Embedded Management Controller Address 0x79 | *host-mgmt-agent-addr* Host Management Agent Address 0x7d | *enh-ctrl-metadata* Enhanced Controller Metadata 0x7e | *ctrl-metadata* Controller Metadata 0x7f | *ns-metadata* Namespace Metadata 0x80 | *sw-progress* Software Progress Marker 0x81 | *host-id* Host Identifier 0x82 | *resv-mask* Reservation Notification Mask 0x83 | *resv-persist* Reservation Persistence 0x84 | *write-protect* Namespace Write Protection Config 0x85 | *bp-write-protect* Boot Partition Write Protection Config

-l &lt;data-len&gt;, --data-len=&lt;data-len&gt;

The data length for the buffer submitted for this feature. Most known features do not use this value. The exceptions are LBA Range Type and host identifier.

-d &lt;data-file&gt;, --data=&lt;data-file&gt;

The data file for the buffer submitted for this feature. Most known features do not use this value. The exceptions is LBA Range Type and host identifier. This defaults to STDIN so files and echo can be piped.

-V &lt;value&gt;, --value=&lt;value&gt;

The value for command dword 11, the value you want to set the feature to.

-s, --save

Save the attribute so that it persists through all power states and resets.

-U &lt;uuid-index&gt;, --uuid-index=&lt;uuid-index&gt;

UUID Index of the feature

-c &lt;cdw12&gt;, --cdw12=&lt;cdw12&gt;

The value for command dword 12, if applicable.

# [GLOBAL OPTIONS](#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 &lt;fmt&gt;, --output-format=&lt;fmt&gt;

Set the reporting format to *normal*, *tabular, 'json*, or *binary*. Only one output format may be used at a time.

--output-format-version=&lt;version&gt;

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=&lt;key=value&gt;\[,&lt;key=value&gt;...]

Set libnvme library options for this invocation. Supported keys are *force-4k*, *mi-probe-enabled*, *test-base-dir* and *test-sysfs-dir*.

--timeout=&lt;ms&gt;

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)](/man/os/nvme-cli/nvme-cli.conf.5). A command-line flag always overrides the file.

# [EXAMPLES](#EXAMPLES)

•Sets the Power State (PS) to 1 in feature id 2:

```
# nvme set-feature /dev/nvme0 -f 2 /dev/nvme0n1 -V 0x1
```

•Sets the host id to the ascii string.

```
# echo "abcdefgh" | nvme set-feature /dev/nvme0 -f 0x81 -l 8
```

nvme set-feature /dev/nvme0 -f 0x81 -l 8 -U 0x1

# [NVME](#NVME)

Part of the nvme-user suite

10/30/2026 NVMe

---

Document: nvme-set-feature(1) from nvme-cli 3.2-r0 (Chainguard OS)
Source: https://github.com/linux-nvme/nvme-cli
