NVME-VIRTIUM-SAVE-SMART-TO-VTVIEW-LOG(1)

🌸 nvme-virtium-save-smart-to-vtview-log(1) 🌸

okay bestie, so this is the manual page for nvme-virtium-save-smart-to-vtview-log β€” yes that's the whole name, don't @ me, she's long but she's iconic πŸ’…


✨ NAME ✨

nvme-virtium-save-smart-to-vtview-log β€” periodically save smart attributes into a log file (csv format). that's it, that's the gig πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

nvme [<global-options>] virtium save-smart-to-vtview-log <device>
                        [--run-time=<NUM> | -r <NUM>]
                        [--freq=<NUM> | -f <NUM>]
                        [--output-file=<FILE> | -O <FILE>]
                        [--test-name=<NAME> | -n <NAME>]

πŸ’– DESCRIPTION πŸ’–

okay so picture this: this command literally automates the whole "collect SMART data over and over" thing for you, on a schedule, no cap ✨ it grabs the data periodically and saves it in a format that's ready to analyze. every single entry gets a timestamp and comes out in csv format, so you can just open it in excel and go feral with the charts πŸ“Š

some use cases she ate with: collecting SMART data for temperature characterization, getting data to calculate endurance, or just hoarding SMART data during a test or during normal operation. literally whatever you need 🫢

the <device> parameter is mandatory β€” can't skip her, sorry β€” 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 command generates a log file, and that file contains an entry for identify device (current features & settings) plus periodic entries of SMART data. so it's not just the periodic stuff, you get the identify snapshot too πŸ‘‘

this command runs for the time specified by the option <run-time>, and collects SMART data at the frequency specified by the option <freq>. and listen β€” if you don't specify the output file name, she'll just generate one for you that includes the model string and serial number of the device. main character energy, she handles it 🌈

if the test-name option is specified, it will be recorded in the log file and get used as part of the log file name. two for one, we love to see it πŸ’œ


🌸 OPTIONS 🌸

  • -r <NUM>, --run-time=<NUM> β€” (optional) Number of hours to log data (default = 20 hours). that's the how-long question ⏳
  • -f <NUM>, --freq=<NUM> β€” (optional) How often you want to log SMART data (0.25 = 15', 0.5 = 30', 1 = 1 hour, 2 = 2 hours, etc.). Default = 10 hours. yes bestie, those numbers are real ones and that default is what the page says, don't come for me 😭
  • -O <FILE>, --output-file=<FILE> β€” (optional) Name of the log file (give it a name that easy for you to remember what the test is). You can leave it blank too, the file name will be generated as <model string>-<serial number>-<test name>.txt. name her something cute πŸŽ€
  • -n <NAME>, --test-name=<NAME> β€” (optional) Name of the test you are doing. We use this string as part of the name of the log file. label your era, bestie 🏷️

πŸ‘‘ GLOBAL OPTIONS πŸ‘‘

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

  • --dry-run β€” Print the command that would be executed, but do not actually execute it. all vibes, 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. one at a time, she's monogamous πŸ’…
  • --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. no bootleg versions allowed πŸ’€
  • --quiet β€” Suppress informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level. silence is golden, but errors still speak up πŸ”‡
  • --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. those four, exactly those four ✨
  • --timeout=<ms> β€” Set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff). no clock-watching if you don't want to πŸ•°οΈ
  • -v, --verbose β€” Increase the level of detail in the output. May be specified multiple times to further increase verbosity. stack her, she loves it πŸ”₯
  • nvme-cli.conf(5) β€” ok this one isn't a flag but bestie it matters: these options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file. flag beats file, periodt ⭐

🧚 EXAMPLES 🧚

  1. Temperature characterization β€” chilling in the cold, literally:
# nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=0.25 --test-name=burn-in-at-(-40)
  1. Endurance testing β€” the marathon era:
# nvme virtium save-smart-to-vtview-log /dev/yourDevice --run-time=100 --record-frequency=1 --test-name=Endurance-test-JEDEG-219-workload
  1. Just logging β€” Default logging is run for 20 hours and log every 10 hours. low-effort, high-reward 🌸
# nvme virtium save-smart-to-vtview-log /dev/yourDevice
okay real talk 🫢 the example commands above use --record-frequency exactly as written on the original page β€” copy them character for character, iykyk πŸ’œ

πŸ’œ NVME πŸ’œ

Part of the nvme-user suite ✨


and that's the whole page bestie, go log something gorgeous πŸ¦‹

xoxo, your girl β€” footer vibes only: NVME-VIRTIUM-SAVE() πŸŽ€ (that's the page name and the trailing mark on this one, so consider yourself signed off πŸ’–)

πŸ“¦ where this page comes from