NVME-INTEL-LAT-ST(1)

πŸŽ€ NAME πŸŽ€

okay so this is nvme-intel-lat-stats β€” the nvme-intel-lat-stats page from the NVMe Manual (yes bestie, we're in the nvme-cli cinematic universe) β€” and the official one-liner is: Send NVMe Identify Controller, return result and structure. That's literally what it says, i'm not even gonna pretend otherwise πŸ’…


✨ SYNOPSIS ✨

nvme [<global-options>] intel lat-stats <device>
                        [--write | -w]
                        [--raw-binary | -b]

like. that's the whole vibe. device first, flags after, slay πŸ¦‹


πŸ’– DESCRIPTION πŸ’–

so for the NVMe device you hand it, this bad boy retrieves intel vendor specific latency statistics and gives you back the result plus the returned structure. no cap, that's the entire job 🫢

the <device> parameter is mandatory β€” non-negotiable, main character requirement β€” and it can be either the NVMe character device (ex: /dev/nvme0) or a namespace block device (ex: /dev/nvme0n1). pick your fighter πŸ’€

on success, the structure may come back in one of several ways depending on which option flags you picked: the structure may be parsed by the program, or the raw buffer may be printed to stdout. that's it. that's the fork in the road 🌸


🌈 OPTIONS 🌈

  • -b, --raw-binary β€” print the raw buffer to stdout. structure is not parsed by the program. this overrides the vendor specific and human readable options, so yeah, it wins, periodt πŸ‘‘
  • -w, --write β€” get write statistics. read statistics are returned by default, so if you want writes you gotta ask nicely πŸŽ€

⭐ GLOBAL OPTIONS ⭐

these are defined at the top-level nvme command and are available to this subcommand too β€” like the group chat everyone's in πŸ‘―β€β™€οΈ

  • --dry-run β€” print the command that would be executed, but do not actually execute it. all talk, no ioctl 😭
  • --no-ioctl-probing β€” disable probing for 64-bit IOCTL support.
  • --no-retries β€” disable retry logic on transient errors. one shot, no second chances πŸ’€
  • -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 β€” you can't collect them all, this isn't pokΓ©mon πŸ™ˆ
  • --output-format-version=<version> β€” select the output format version. version 1 uses the original field naming, while version 2 (the default) provides more consistent and script-friendly field names. other versions are rejected β€” no custom editions, bestie 🚫
  • --quiet β€” suppress informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. it's giving "i'm muting you but i'm still watching" πŸ‘€
  • --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. mix and match, it's a little buffet πŸ“
  • --timeout=<ms> β€” set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). literally forever. no clock, just vibes ⏳
  • -v, --verbose β€” increase the level of detail in the output. may be specified multiple times to further increase verbosity β€” stack 'em, the lore goes deeper each time πŸ“š
also these options can be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file β€” CLI stays the main character, the config file is just supporting cast 🫑

πŸ¦‹ EXAMPLES πŸ¦‹

  1. Get the read statistics β€” the default, no extra flavour needed
# nvme intel lat-stats /dev/nvme0
  1. Get the write statistics β€” add the -w, that's the whole trick ✨
# nvme intel lat-stats /dev/nvme0 -w

πŸ’œ NVME πŸ’œ

part of the nvme-user suite 🧚


and that's the whole page, bestie! this lil' number is from the NVMe Manual, dated 10/30/2026, filed under NVME-INTEL-LAT-ST(1) in the manual pages β€” go forth and measure those latencies, you absolute icon πŸ’…πŸŽ€πŸ’–

πŸ“¦ where this page comes from