NDCTL-DISABLE-DIMM(1)

πŸ’… NDCTL-DISABLE-DIMM(1) β€” the ndctl manual, bestie edition

okay so you found the ndctl-disable-dimm page, which lives in the ndctl Manual and is literally about putting one or more idle dimms to sleep. nap time for hardware. iconic behavior honestly.


✨ NAME ✨

ndctl-disable-dimm β€” disable one or more idle dimms πŸ¦‹


🌸 SYNOPSIS 🌸

ndctl disable-dimm <dimm> [<options>]

like. that's it. that's the whole vibe.


πŸ’– DESCRIPTION πŸ’–

so here's the lore, bestie. every memory device that shows up in the ACPI NFIT table β€” or whatever other platform NVDIMM resource discovery mechanism your machine is running β€” gets its own generic DIMM device object registered, and that object is named /dev/nmemX. one per device. cute, right?

and the LIBNVDIMM core ships a built-in driver for these DIMM devices. that driver's whole job is two things:

  1. figure out whether the DIMM actually implements a namespace label area, and
  2. initialize the kernel's in-memory copy of that label data.

now the drama: the kernel actively modifies that data at runtime whenever namespace provisioning actions happen, and while the DIMM is active in any region, the kernel straight-up blocks userspace from initiating label data changes. no cap. you do not get to touch it. the kernel said no. πŸ’€

so how do you get in there? you disable the DIMM β€” but only after every region it's a member of has already been disabled. once that's done, userspace gets to manually update the label data, and that updated data is what gets consumed the next time the DIMM is enabled. slay. that's the whole point of this command. 🫢


✨ OPTIONS ✨

  • <dimm> β€” an nmemX device name, or a dimm id number. use it to restrict the operation to the specific dimm(s) you named. you can also pass the keyword all if you want to say "no restriction whatsoever" β€” but bestie, that's literally the same thing as just not passing a --dimm option at all. so like. do with that what you will. πŸ™ˆ
  • -b, --bus= β€” a bus id number, or a provider string (for example "ACPI.NFIT"). restrict the operation to the specified bus(es). and yeah, same deal as above: the keyword all means "no restriction," which is the same as not supplying a --bus option at all. the redundancy is highkey real. πŸ’…

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

ok so technically this is free software, you can change it and redistribute it, that part rules β€” but there is NO WARRANTY, to the extent permitted by law. so if something goes sideways, that's on you, bestie. 😭

🌈 SEE ALSO 🌈

  • ndctl-enable-dimm(1) β€” the other half of the story. the wake-up. the reverse nap. go read it next. ⭐

mwah πŸ’‹ that's the whole page. this one's from the ndctl manual set, version-dated 2026-07-07, and it's giving "sleep tight, little dimm." go forth and disable responsibly. πŸŽ€πŸ¦‹βœ¨

πŸ“¦ where this page comes from