NVME-FEAT-POWER-L(1)

πŸ“¦ version 3.2, in arch rolling

✨ nvme-feat-power-l(1) β€” the NVMe Manual, but make it a group chat ✨

okay bestie, sit down, hydrate, and let me tell you about nvme-feat-power-l from the NVMe Manual. it's a little subcommand that gets and sets the power limit feature on your drive, and honestly? it's giving main character energy for such a tiny command. πŸ’…


🌸 NAME 🌸

nvme-feat-power-l β€” get and set the power limit feature. that's it, that's the whole vibe. get it, set it, slay. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] feat power-limit <device>
                        [--pwrlm=<pwrlm> | -p <pwrlm>] [--pvlmt=<pvlmt> | -t <pvlmt>]
                        [--sel=<select> | -S <select>] [--save | -s]

like, look at her. she's got a <device>, she's got options, she's got short flags and long flags, because she's flexible like that. πŸŽ€


πŸ’– DESCRIPTION πŸ’–

okay so: get and set power limit feature. that's the whole assignment. 🫢

the <device> parameter is mandatory β€” you literally cannot skip it, no cap β€” and it can be either:

  • an NVMe character device, like /dev/nvme0
  • or a namespace block device, like /dev/nvme0n1

either one is fine, she's not picky πŸ’œ

here's the behaviour check, listen up:

  • if any of the setting options (--pwrlm or --pvlmt) are specified, the command will update the power limit configuration.
  • if none of these options are specified, it will retrieve and display the current configuration. read-only era. 🌈

and on success, it returns 0. on anything else β€” error code. bye. 😭


πŸŽ€ OPTIONS πŸŽ€

  • -p <pwrlm>, --pwrlm=<pwrlm> β€” Power Limit. specifies the power limit value to be applied to the controller. this is you telling the drive "bestie, this is your limit." πŸ”₯
  • -t <pvlmt>, --pvlmt=<pvlmt> β€” Power Limit Type. specifies the type of power limit β€” like, e.g., static or dynamic limit. yes there's a type, no you cannot ignore it. πŸ’…
  • -S <select>, --sel=<select> β€” Select (SEL). this field specifies which value of the attributes to return in the provided data. the vibes are as follows:
    • 0 β€” current β€” Current ✨
    • 1 β€” default β€” Default πŸŽ€
    • 2 β€” saved β€” Saved πŸ’Ύ
    • 3 β€” supported β€” Supported capabilities πŸ‘‘

(that's literally the exact table, just laid out flat so it fits your terminal, iykyk πŸ¦‹)

  • -s, --save β€” save the attribute so that it persists through all power states and resets. she stays. she's permanent. periodt. πŸ‘‘

⭐ GLOBAL OPTIONS ⭐

these are defined at the top-level nvme command, but they're available to this subcommand too β€” shared custody, we love to see it 🫢

  • --dry-run β€” print the command that would be executed, but do not actually execute it. window shopping, essentially πŸ™ˆ
  • --no-ioctl-probing β€” disable probing for 64-bit IOCTL support. no poking around πŸ”
  • --no-retries β€” disable retry logic on transient errors. one shot, one opportunity πŸ’€
  • -o <fmt>, --output-format=<fmt> β€” set the reporting format to normal, tabular, 'json, or binary. (yes that's exactly how it's written in the original β€” the quote is part of the deal, don't come for me 😭) 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 β€” she does not entertain them 🚫
  • --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. very "customize your experience" of it πŸŽ€
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). forever girlies rise 🌸
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity. stack it. go off. πŸ”₯
πŸ’‘ these options can also be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file. file says one thing, flag says another, flag wins, no debate. πŸ’…

🌈 EXAMPLES 🌈

  1. has the program issue a feat power-limit to get the current configuration:
# nvme feat power-limit /dev/nvme0

look at her go. no flags, just vibes, just reading. πŸ¦‹

  1. has the program issue a feat power-limit to set power limit with saving enabled:
# nvme feat power-limit /dev/nvme0 --pwrlm=25 --pvlmt=1 --save

now this is main character energy β€” limit set, type set, save flag on. iconic. πŸŽ€


πŸ‘‘ NVME πŸ‘‘

part of the nvme-user suite. you're in the family now, bestie 🫢


and that's the whole page, no notes. this gem is from the NVMe manual, dated 10/30/2026, part of the nvme-user suite β€” go forth and power-limit responsibly, love you, bye! πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from