NVME-LOG-TELEMETRY(1)

πŸ“¦ version 3.2, in arch rolling

πŸ’Ύ NVME-LOG-TELEMETRY(1) β€” the nvme manual, bestie edition ✨

okay so you're looking at nvme-log-telemetry from the NVMe Manual, and honestly? she's a baddie. let's get into it πŸŽ€


🌸 NAME 🌸

nvme-log-telemetry β€” grabs a Telemetry Host-Initiated log page off an NVMe device. that's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

nvme [<global-options>] log telemetry <device>
                        [--output-file=<file> | -O <file>]
                        [--host-generate=<gen> | -g <gen>]

πŸ¦‹ DESCRIPTION πŸ¦‹

so what she does: she retrieves a Telemetry Host-Initiated log page from an NVMe device and hands you back the returned structure. iconic behavior, no notes. 🫢

the <device> parameter is mandatory, bestie β€” not optional, not vibes-based. and it can be either:

  • the NVMe character device, like /dev/nvme0 πŸ‘‘
  • or a namespace block device, like /dev/nvme0n1 🌈
😭 heads up: on success, the returned log structure comes back in raw binary format only, and that's only with the --output-file option β€” which is mandatory. so like, don't forget it. fr fr.

πŸ’œ OPTIONS πŸ’œ

  • -O <file>, --output-file=<file> β€” the file name where the raw binary data gets saved. this one's the main character, you literally need it. πŸ“
  • -g <gen>, --host-generate=<gen> β€” set this to 1 and the controller shall capture the Telemetry Host-Initiated data representing the internal state of the controller at the time the associated Get Log Page command is processed. set it to 0 and the controller shall not update this data. simple as that ✨
  • -d <da>, --data-area=<da> β€” retrieves the specific data area you asked for. valid inputs are 1, 2, 3, 4. if you don't specify this option, the default value is 3 β€” because data area 4 may not be supported. protective queen behavior honestly 🧚

⭐ GLOBAL OPTIONS ⭐

these are defined up at the top-level nvme command and guess what β€” they're available to this subcommand too. generous icons. πŸ’–

  • --dry-run β€” prints the command that would be executed, but does not actually execute it. all the dress rehearsal, none of the commitment πŸ’€
  • --no-ioctl-probing β€” disables probing for 64-bit IOCTL support.
  • --no-retries β€” disables retry logic on transient errors. one shot, one opportunity.
  • -o <fmt>, --output-format=<fmt> β€” sets 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> β€” selects 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. not negotiable, periodt. πŸŽ€
  • --quiet β€” suppresses informational messages. errors are still reported, and --quiet cancels any --verbose for the library log level. shhh 🀫
  • --set-options=<key=value>[,<key=value>...] β€” sets libnvme library options for this invocation. supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir. mix and match, she contains multitudes 🌸
  • --timeout=<ms> β€” sets the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). patience is a virtue, allegedly 🧘
  • -v, --verbose β€” increases the level of detail in the output. may be specified multiple times to further increase verbosity. stack it like it's a combo πŸ”₯

also!! these options can be set as machine-wide defaults in nvme-cli.conf(5). a command-line flag always overrides the file. the flag wins, every time. πŸ‘‘


πŸ“ EXAMPLES πŸ“

  • retrieve Telemetry Host-Initiated data to telemetry_log.bin β€” look at her go:
# nvme log telemetry /dev/nvme0 --output-file=telemetry_log.bin

🌈 NVME 🌈

part of the nvme-user suite. she runs with a whole crew. πŸ’…


and that's the whole page, bestie β€” go forth and log your telemetry πŸ¦‹

sign-off szn: this gem is from the NVMe manual set, part of the nvme-user suite, dated 10/30/2026 β€” mwah, take care of her πŸ’–βœ¨

πŸ“¦ where this page comes from