NDCTL-START-SCRUB(1)

πŸ’– NDCTL-START-SCRUB πŸ’–

okay bestie, welcome to the ndctl manual, page for ndctl-start-scrub. this is your girl's guide to kicking off an Address Range Scrub, and yes it is exactly as iconic as it sounds. let's go 🫢


✨ NAME ✨

ndctl-start-scrub β€” start an Address Range Scrub (ARS) operation

no cap, that's the whole name section, we keep it cute and simple.


🌸 SYNOPSIS 🌸

ndctl start-scrub [<bus-id> <bus-id2> ... <bus-idN>] [<options>]

so you can pass literally zero buses, one bus, or a whole squad of bus ids, and then whatever options you're feeling. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so, NVDIMM Address Range Scrub is a capability that comes from your platform firmware, and it's the whole reason system software can discover memory errors. it lets system software pre-emptively avoid accesses that could lead to uncorrectable memory error handling events β€” which, like, we do NOT want β€” and it also just generally lets memory errors be enumerated. so basically it's giving prevention and discovery at the same time. main character energy fr fr ✨

the kernel provides a sysfs file called scrub, and the way it works is: when you write the string "1\n" into it, that initiates an ARS operation. and that's the vibe. the ndctl start-scrub operation starts an ARS across all the buses you specified, and then the kernel in turn proceeds to scrub every persistent memory address region on those specified buses. slay. 🧚


πŸ“ EXAMPLE πŸ“

want to start a scrub on all the nvdimm buses in your system? bet. the json listing report only includes the buses that support ARS operations, so don't be surprised when the list is shorter than your contact list.

# ndctl start-scrub
[
  {
    "provider":"nfit_test.1",
    "dev":"ndbus3",
    "scrub_state":"active"
  },
  {
    "provider":"nfit_test.0",
    "dev":"ndbus2",
    "scrub_state":"active"
  }
]

when you're specifying an individual bus, or if there's only one bus in the system, the command reports whether ARS support is available. and sometimes the answer is... no. πŸ’€

# ndctl start-scrub e820
error starting scrub: Operation not supported

rip. not every bus has ARS and that's just the truth.


πŸŽ€ OPTIONS πŸŽ€

  • -v, --verbose β€” emit debug messages for the ARS start process. lowkey essential when you want to see what's actually going on in there πŸ‘€

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.

bestie. that NO WARRANTY part is in all caps in the original and it is in all caps here too. respect the caps. πŸ™ˆ

🌈 SEE ALSO 🌈


and that's the page!! this was the ndctl manual, dated 2026-07-07, and honestly? she ate. go start that scrub, you've got this. πŸ’œπŸŒΈβœ¨

πŸ“¦ where this page comes from