NDCTL-INJECT-SMART(1) ndctl Manual NDCTL-INJECT-SMART(1)

# [NAME](#NAME)

ndctl-inject-smart - perform smart threshold/injection operations on a DIMM

# [SYNOPSIS](#SYNOPSIS)

```
ndctl inject-smart <dimm> [<options>]
```

# [DESCRIPTION](#DESCRIPTION)

A generic DIMM device object, named /dev/nmemX, is registered for each memory device indicated in the ACPI NFIT table, or other platform NVDIMM resource discovery mechanism.

ndctl-inject-smart can be used to set smart thresholds, and inject smart attributes.

# [EXAMPLES](#EXAMPLES)

Set smart controller temperature and spares threshold for DIMM-0 to 32C, spares threshold to 8, and enable the spares alarm.

```
ndctl inject-smart --ctrl-temperature-threshold=32 --spares-threshold=8 --spares-alarm nmem0
```

Inject a media temperature value of 52 and fatal health status flag for DIMM-0

```
ndctl inject-smart --media-temperature=52 --health=fatal nmem0
```

# [OPTIONS](#OPTIONS)

-b, --bus=

A bus id number, or a provider string (e.g. "ACPI.NFIT"). Restrict the operation to the specified bus(es). The keyword *all* can be specified to indicate the lack of any restriction, however this is the same as not supplying a --bus option at all.

-m, --media-temperature=

Inject &lt;value&gt; for the media temperature smart attribute.

-M, --media-temperature-threshold=

Set &lt;value&gt; for the smart media temperature threshold.

--media-temperature-alarm=

Enable or disable the smart media temperature alarm. Options are *on* or *off*.

--media-temperature-uninject

Uninject any media temperature previously injected.

-c, --ctrl-temperature=

Inject &lt;value&gt; for the controller temperature smart attribute.

-C, --ctrl-temperature-threshold=

Set &lt;value&gt; for the smart controller temperature threshold.

--ctrl-temperature-alarm=

Enable or disable the smart controller temperature alarm. Options are *on* or *off*.

--ctrl-temperature-uninject

Uninject any controller temperature previously injected.

-s, --spares=

Inject &lt;value&gt; for the spares smart attribute.

-S, --spares-threshold=

Set &lt;value&gt; for the smart spares threshold.

--spares-alarm=

Enable or disable the smart spares alarm. Options are *on* or *off*.

--spares-uninject

Uninject any spare percentage previously injected.

-f, --fatal

Set the flag to spoof fatal health status.

--fatal-uninject

Uninject the fatal health status flag.

-U, --unsafe-shutdown

Set the flag to spoof an unsafe shutdown on the next power down.

--unsafe-shutdown-uninject

Uninject the unsafe shutdown flag.

-N, --uninject-all

Uninject all possible smart fields/values irrespective of whether they have been previously injected or not.

-v, --verbose

Emit debug messages for the error injection process

-u, --human

Format numbers representing storage sizes, or offsets as human readable strings with units instead of the default machine-friendly raw-integer data. Convert other numeric fields into hexadecimal strings.

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL version 2 &lt;http://gnu.org/licenses/gpl.html&gt;. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

[ndctl-list(1)](/man/os/ndctl/ndctl-list.1),

2026-10-30 ndctl

---

Document: ndctl-inject-smart(1) from ndctl 85-r4 (Chainguard OS)
Source: https://github.com/pmem/ndctl
