daxctl
TLDR
List DAX devices
SYNOPSIS
daxctl command [options] [device]
DESCRIPTION
daxctl manages Device DAX (Direct Access) devices, which provide direct memory-mapped access to persistent memory (PMEM) or CXL memory regions. It configures how this memory appears to the system.
In devdax mode, memory is accessed through a character device for applications needing direct access (databases, memory-mapped files). In system-ram mode, the memory appears as regular system RAM and can be used by any application.
The tool works with regions created by ndctl (for NVDIMM) or cxl (for CXL memory). It's essential for managing disaggregated and persistent memory in modern server systems.
PARAMETERS
list [options]
List DAX devices and regions.reconfigure-device
Change device mode.online-memory
Bring DAX memory online for system use.offline-memory
Take DAX memory offline.-d, --devices
Include device details in listing.-r, --regions
Include region details.--mode mode
Device mode: devdax or system-ram.-f, --force
Force operation.--no-online
Don't automatically online memory.-v, --verbose
Verbose output.
MODES
devdax: Direct character device access (/dev/daxX.Y)
Used for applications that explicitly mmap the devicesystem-ram: Hot-plugged system memory
Treated as regular RAM, usable by any process
CAVEATS
Mode changes may require the device to be unmapped first. System-ram mode memory may have different NUMA characteristics than normal RAM. Requires kernel support for DAX (Device-DAX). Persistent memory in system-ram mode loses persistence benefit.
HISTORY
daxctl is part of the ndctl project led by Dan Williams at Intel. It was developed alongside Linux kernel support for persistent memory (NVDIMM) starting around 2016. As persistent memory technology (Intel Optane, CXL memory) evolved, daxctl became essential for managing how this memory integrates with the operating system.


