NVME-FEAT-ARBITRAT(1)

πŸ“¦ version 3.2, in arch rolling

✨ nvme-feat-arbitration ✨

okay so this is the nvme-feat-arbitration page from the NVMe Manual, and bestie, it's literally the whole vibe of "get and set arbitration feature" β€” nothing more, nothing less πŸ’…


🌸 SYNOPSIS 🌸

nvme [<global-options>] feat arbitration <device>
                        [--ab=<ab> | -a <ab>] [--lpw=<lpw> | -l <lpw>]
                        [--mpw=<mpw> | -m <mpw>] [--hpw=<hpw>]
                        [--sel=<select> | -S <select>] [--save | -s]

πŸ’– DESCRIPTION πŸ’–

So this one gets and sets the arbitration feature, periodt. That's the whole job. ✨

The <device> parameter is mandatory β€” you literally cannot skip it β€” and it can be either the NVMe character device (like /dev/nvme0) or a namespace block device (like /dev/nvme0n1). Either one slays, your choice 🫢

Now here's the tea β˜•: if any of the setting options (--ab, --lpw, --mpw, or --hpw) are specified, the command will update the arbitration configuration. But if none of these options are specified, it will just retrieve and display the current configuration. like, no notes, it just reads the room πŸ™ˆ

On success it returns 0, error code otherwise. that's it, that's the deal πŸ’€


πŸŽ€ OPTIONS πŸŽ€

  • -a <ab>, --ab=<ab> β€” Arbitration Burst 🌈 β€” this one specifies the maximum number of commands that the controller may launch at one time from a submission queue. big main character energy.
  • -l <lpw>, --lpw=<lpw> β€” Low Priority Weight πŸ’œ β€” literally specifies the low priority service weight.
  • -m <mpw>, --mpw=<mpw> β€” Medium Priority Weight πŸ¦‹ β€” specifies the medium priority service weight. the middle child, iconic.
  • --hpw=<hpw> β€” High Priority Weight πŸ‘‘ β€” specifies the high priority service weight. yes, no short flag, she's exclusive like that.
  • -S <select>, --sel=<select> β€” Select (SEL) ✨ β€” this field specifies which value of the attributes to return in the provided data, and here's the whole menu bestie:
    • 0 β€” current β€” Current
    • 1 β€” default β€” Default
    • 2 β€” saved β€” Saved
    • 3 β€” supported β€” Supported capabilities
  • -s, --save β€” Save the attribute so that it persists through all power states and resets πŸ’Ύ β€” like, she remembers. through everything. obsessed.

⭐ GLOBAL OPTIONS ⭐

these are defined at the top-level nvme command and are available to this subcommand too, so you get them for free, no cap:

  • --dry-run β€” Print the command that would be executed, but do not actually execute it. all the planning, zero commitment πŸ™ˆ
  • --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 β€” pick a lane, bestie πŸ’…
  • --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. she's silencing the haters but the errors still get to speak πŸ”‡
  • --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). time is fake anyway ⏳
  • -v, --verbose β€” Increase the level of detail in the output. May be specified multiple times to further increase verbosity. the way you can just keep stacking it 😭
These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file. πŸ‘‘ command line stays the queen.

πŸ”₯ EXAMPLES πŸ”₯

  • Has the program issue a feat arbitration to get the current configuration β€” literally just reading, no touching:
# nvme feat arbitration /dev/nvme0
  • Has the program issue a feat arbitration to set arbitration burst and weights β€” now we're cooking πŸ“:
# nvme feat arbitration /dev/nvme0 --ab=2 --lpw=10 --mpw=20 --hpw=30 --save

🧚 NVME 🧚

Part of the nvme-user suite. iykyk πŸ’«


aaaand that's the page!! NVMe Manual vibes, from the nvme-user suite, dated 10/30/2026, filed under NVME-FEAT-ARBITRAT(1) β€” byeee, go set some weights bestie πŸ«ΆπŸ’–πŸŽ€
πŸ“¦ where this page comes from