NDCTL-ENABLE-DIMM(1)

πŸ’– NDCTL-ENABLE-DIMM πŸ’–

okay bestie, welcome to the ndctl manual page for ndctl-enable-dimm, and yes it's literally a whole command whose entire personality is "turn the DIMM back on" 🫢


✨ NAME ✨

ndctl-enable-dimm β€” enable one more dimms

(that's the actual wording, I'm not touching it, it's iconic πŸ’…)


🌸 SYNOPSIS 🌸

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

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the lore. a generic DIMM device object, named /dev/nmemX, gets registered for every single memory device that shows up in the ACPI NFIT table, or in whatever other platform NVDIMM resource discovery mechanism your machine is running. that's just how it is.

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

  • figuring out whether the DIMM actually implements a namespace label area, and
  • initializing the kernel's in-memory copy of that label data. 🧠✨

then things get spicy. the kernel does runtime modifications of that data whenever namespace provisioning actions happen, and it will actively block userspace from starting any label data changes while the DIMM is active in any region. no cap, it's giving bouncer energy 🚫

so what do you do? you disable the DIMM β€” but only after all the regions it's a member of have been disabled β€” and that's what unlocks it: userspace can then manually update the label data, which will get consumed the next time the DIMM is enabled. that's the whole cycle, periodt. πŸ”„


πŸŽ€ OPTIONS πŸŽ€

  • <dimm> β€” an nmemX device name, or a dimm id number. use it to restrict the operation to the specified dimm(s). you can also pass the keyword all to say "no restrictions actually," though ngl that's the exact same thing as just not supplying a --dimm option at all. same vibe, zero difference πŸ’«
  • -b, --bus= β€” a bus id number, or a provider string (like "ACPI.NFIT"). restrict the operation to the specified bus(es). and yeah, the keyword all works here too, meaning no restriction whatsoever β€” which, again, is literally the same as not supplying a --bus option at all. we love a consistent API 🫢

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.

(translation: it's free, go wild, but NO WARRANTY so don't come for them if something goes sideways πŸ’€)


🌈 SEE ALSO 🌈


ndctl Β· dated 2026-07-07 Β· page NDCTL-ENABLE-DIMM(1) β€” that's the whole manual bestie, go enable that dimm (or dimms, apparently, since we're enabling "one more dimms" 😭) and slay responsibly πŸ’…βœ¨πŸŒΈ

πŸ“¦ where this page comes from