Provided by: ipmctl_03.00.00.0485-1build1_amd64 bug

NAME

       ipmctl-show-memory-resources - Shows PMem module and DDR memory allocation

SYNOPSIS

           ipmctl show [OPTIONS] -memoryresources

DESCRIPTION

       Shows PMem module and DDR memory allocation information for this platform.

OPTIONS

       -h, -help
           Displays help for the command.

       -ddrt
           Used to specify DDRT as the desired transport protocol for the current invocation of ipmctl.

       -smbus
           Used to specify SMBUS as the desired transport protocol for the current invocation of ipmctl.

           Note

           The -ddrt and -smbus options are mutually exclusive and may not be used together.

       -o (text|nvmxml), -output (text|nvmxml)
           Changes the output format. One of: "text" (default) or "nvmxml".

       -u (B|MB|MiB|GB|GiB|TB| TiB), -units (B|MB|MiB|GB|GiB|TB| TiB)
           Changes the units that capacities are displayed in for this command. One of: bytes (B), megabytes
           (MB), mebibytes (MiB), gigabytes (GB), gibibytes (GiB), terabytes (TB) or tebibytes (TiB).

EXAMPLES

       Shows the PMem module and DDR memory allocation.

           ipmctl show -memoryresources

LIMITATIONS

       In order to successfully execute this command:

       •   The caller must have the appropriate privileges.

       •   The specified PMem modules must be manageable by the host software.

RETURN DATA

       Returns a table containing the attributes listed below.

           Note

           Capacities from unmanageable PMem modules are not included in the following aggregated totals.

       Volatile DDR Capacity
           Total DDR capacity that is used as volatile memory.

       Volatile PMem module Capacity
           Total PMem module capacity that is used as volatile memory.

       Total Volatile Capacity
           Total DDR and PMem module capacity that is used as volatile memory.

       AppDirect PMem module Capacity
           Total PMem module capacity used as persistent memory.

       Total AppDirect Capacity
           Total DDR and PMem module capacity used as persistent memory.

       Cache DDR Capacity
           Total DDR capacity used as a cache for PMem modules.

       Total Cache Capacity
           Total DDR capacity used as a cache for PMem modules.

       Inaccessible DDR Capacity
           Total DDR capacity that is inaccessible.

       Inaccessible PMem module Capacity
           Total PMem module capacity that is inaccessible due to any of:

           •   Platform configuration prevents accessing this capacity. For example, MemoryCapacity is
               configured but MemoryMode is not enabled by platform FW (current Memory Mode is 1LM).

           •   Capacity is inaccessible because it is not mapped into the System Physical Address space (SPA).
               This is usually due to platform firmware memory alignment requirements.

           •   Persistent capacity that is reserved. This capacity is the persistent memory partition capacity
               (rounded down for alignment) less any App Direct capacity. Reserved capacity typically results
               from a Memory Allocation Goal request that specified the Reserved property. This capacity is not
               mapped to System Physical Address space (SPA).

           •   Capacity that is unusable because it has not been configured.

           •   PMem module configured capacity but SKU prevents usage. For example, AppDirectCapacity but PMem
               module SKU is MemoryMode only.

       Total Inaccessible Capacity
           Total capacity of DDR and PMem module that is inaccessible.

       Physical DDR Capacity
           Total physical DDR capacity populated on the platform.

       Physical PMem module Capacity
           Total physical PMem module capacity populated on the platform.

       Total Physical Capacity
           Total physical capacity populated on the platform.

DETAILS

       PMem modules are partitioned into Memory and Persistent partitions. Memory partitions are aligned on a 1
       GiB boundary by ipmctl with the Persistent partition consuming the remaining capacity. Any capacity that
       falls outside the Memory and Persistent partitions is InaccessibleCapacity and is not usable. If the PMem
       module is configured for 100% Memory Mode, then the Memory partition consumes all of the capacity and the
       Persistent partition has none.

       The mode determines how the DDR capacities are allocated. In 1LM and AppDirect, all DDR capacity is used
       as additional volatile memory. In MemoryMode, all DDR capacity that the CPU will support is used as a
       cache for the PMem module.

       Platform firmware alignment restrictions may result in some capacity from the Memory and Persistent
       partitions not mapped to System Physical Address space (SPA). This memory is considered
       InaccessibleCapacity and is not usable.

       The definitions and calculations that follow intend to describe how each of the values are determined.

       Definitions:

       Intel PMem module Current Config
           See the Intel® Optane™ Persistent Memory Software-Firmware Interface Specification, document number
           556488, for details.

       PMem module Partition Info
           PMem module partition information provided by PMem module firmware. See the Intel® Optane™ Firmware
           Interface Specification, document number 626912, for details.

       PMem module Physical Capacity (PC)
           Total usable capacity reported by PMem module Partition Info

       PMem module Memory Partition Capacity (MPC)
           Volatile capacity reported by PMem module Partition Info

       PMem module Persistent Partition Capacity (PPC)
           Persistent capacity reported by PMem module Partition Info

       PMem module Volatile Memory Capacity (VMC)
           Usable volatile memory capacity as reported by platform FW via the Intel® PMem module Current
           Config→Volatile Memory Size Mapped into SPA field

       PMem module Persistent Memory Capacity (PMC)
           Usable persistent memory capacity as reported by platform FW via the Intel® PMem module Current
           Config→Persistent Memory Size Mapped into SPA field

       DDR Total Capacity (DDRTC)
           Total amount of memory available for use on the populated DDRs

       Calculations:

           if (CurrentMode == 1LM) then
             DDRCacheCapacity = 0
             DDRVolatileCapacity = DDRTC
           else if (CurrentMode == 2LM) then
             DDRCacheCapacity = DDRTC
             DDRVolatileCapacity = 0

           TotalVolatileCapacity = VMC + DDRVolatileCapacity

           InaccessibleCapacity = PC - PMC
            if (CurrentMode != 1LM) then
             InaccessibleCapacity -= VMC (rounded down for alignment)

ipmctl                                             2024-04-22                    IPMCTL-SHOW-MEMORY-RESOURCES(1)