![Forrest logo](/images/logo.png)
ndctl
ndctl is a command line tool that stands for "Non-Volatile Device Control". It is a utility included in the ndctl package, which is often used to manage and configure persistent memory devices (PMEM) in Linux systems.
With ndctl, users can perform various tasks such as creating, removing, and managing namespaces on PMEM devices. Namespaces allow users to partition PMEM devices and treat them as individual block devices.
The tool also provides options to view information about PMEM devices and their current configuration. Users can query device health, firmware versions, and available features. Additionally, ndctl allows users to monitor and view performance statistics related to PMEM devices.
Moreover, ndctl supports commands for updating firmware on supported devices, which is crucial for maintaining device compatibility and ensuring optimal performance. It also supports features like secure erase and power management settings.
ndctl is designed to work with kernel-level libraries, such as libndctl, which provide an API for programmatic interaction with PMEM devices. This allows developers to incorporate ndctl functionality into their own applications and scripts, automating management tasks or integrating PMEM support into their software.
List of commands for ndctl:
-
ndctl:tldr:1bce7 ndctl: List all namespaces, regions, and buses (including disabled ones).$ ndctl list --namespaces --regions --buses --idletry on your machineexplain this command
-
ndctl:tldr:407f4 ndctl: Create an 'fsdax' mode namespace.$ ndctl create-namespace --mode=${fsdax}try on your machineexplain this command
-
ndctl:tldr:4b0b1 ndctl: Remove a namespace (when applicable) or reset it to an initial state.$ ndctl destroy-namespace --force ${namespaceX-Y}try on your machineexplain this command
-
ndctl:tldr:62e19 ndctl: Change the mode of a namespace to 'raw'.$ ndctl create-namespace --reconfigure=${namespaceX-Y} --mode=${raw}try on your machineexplain this command
-
ndctl:tldr:bbeba ndctl: Check a sector mode namespace for consistency, and repair if needed.$ ndctl check-namespace --repair ${namespaceX-Y}try on your machineexplain this command
-
ndctl:tldr:c06ee ndctl: List a specific namespace and include lots of additional information.$ ndctl list -vvv --namespace=${namespaceX-Y}try on your machineexplain this command
-
ndctl:tldr:f108d ndctl: Run a monitor to watch for SMART health events for NVDIMMs on the 'ACPI.NFIT' bus.$ ndctl monitor --bus=${ACPI-NFIT}try on your machineexplain this command