# IPMCTL User Guide

## Introduction

`ipmctl` is an open source utility created and maintained by Intel to manage Intel® Optane™ persistent memory modules. `ipmctl`, works on both Linux and Windows. The full project is open source and can be seen on [GitHub](https://github.com/intel/ipmctl). In this guide we will refer to Intel® Optane™ memory modules simply as *modules* or *persistent memory modules*.

`ipmctl` refers to the following interface components:

* `libipmctl`: An Application Programming Interface (API) library for managing persistent memory modules.
* `ipmctl`: A Command Line Interface (CLI) application for configuring and managing persistent memory modules from the command line.
* `ipmctl-monitor`: A monitor daemon/system service for monitoring the health and status of persistent memory modules.

Functionality includes:

* Discover Intel Optane persistent memory modules on the platform
* Provision the platform memory configuration
  * Learn more about operating modes in this [video](https://www.youtube.com/watch?v=gqo3gty-R4s)
* View and update module firmware
* Configure data-at-rest security
* Monitor module health
* Track performance of modules
* Debug and troubleshoot modules

Architecture Diagram:

![](https://3576563485-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvwE245OEk7_sa-dTh_%2F-LvwGo-UMCaMEAgKK11R%2F-LvwHEtpunYD-ZIHG-Vc%2Fcapture.PNG?alt=media\&token=b7356ed8-c4ef-4ac3-ba71-a4f50a016a9d)

To learn more about how ipmctl works with the hardware see the [Intel® Optane™ Persistent Memory OS Provisioning Specification](https://cdrdv2.intel.com/v1/dl/getContent/634430), which describes all the firmware interface commands used for this operation.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pmem.io/ipmctl-user-guide/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
