---
name: "nvme-log-smart"
section: "1"
platform: "linux"
package: "nvme-cli"
version: "3.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/nvme-log-smart"
---

# nvme-log-smart(1)

Send NVMe SMART log page request, returns result and log

## NAME

nvme-log-smart - Send NVMe SMART log page request, returns result and log

## SYNOPSIS

```
nvme [<global-options>] log smart <device>
                        [--namespace-id=<nsid> | -n <nsid>]
                        [--raw-binary | -b]
```

## DESCRIPTION

Retrieves the NVMe SMART log page from an NVMe device and provides the returned structure.

The \<device\> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

On success, the returned smart log structure may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format or the raw buffer may be printed to stdout for another program to parse.

## OPTIONS

- \-n \<nsid\>, --namespace-id=\<nsid\>

  Retrieve the SMART log for the given nsid. This is optional and its success may depend on the device’s capabilities to provide this log on a per-namespace basis (see the NVMe Identify Controller for this capability). The default nsid to use is 0xffffffff for the device global SMART log. The broadcast value 0xffffffff can also be given as *all* or *-1*.

- \-b, --raw-binary

  Print the raw SMART log buffer to stdout.

## GLOBAL OPTIONS

The following options are defined at the top-level nvme command and are available to this subcommand:

- \--dry-run

  Print the command that would be executed, but do not actually execute it.

- \--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.

- \--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.

- \--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).

- \-v, --verbose

  Increase the level of detail in the output. May be specified multiple times to further increase verbosity.

These options can also be set as machine-wide defaults in [nvme-cli.conf(5)](/nvme-cli.conf/5.md). A command-line flag always overrides the file.

## EXAMPLES

• Print the SMART log page in a human readable format:

```
# nvme log smart /dev/nvme0
```

• Print the raw SMART log to a file:

```
# nvme log smart /dev/nvme0 --raw-binary > smart_log.raw
```

It is probably a bad idea to not redirect stdout when using this mode.

## NVME

Part of the nvme-user suite
