LPARCFG(5)
๐ธ LPARCFG(5) ๐ธ
File Formats Manual
โจ NAME โจ
/proc/ppc64/lparcfg โ IBM Power LPAR Configuration Data ๐
๐ฆ SYNOPSIS ๐ฆ
/proc/ppc64/lparcfg
cat /proc/ppc64/lparcfg
Yep bestie, thatโs the whole summoning ritual. ๐ช
๐ DESCRIPTION ๐
The lparcfg file is a virtual file that contains information related to an IBM Power Logical Partition. Itโs giving โspecial little file with partition loreโ energy. ๐
๐ OPTIONS ๐
The fields displayed in the lparcfg file are sorted below according to the version of the lparcfg file. Generally, fields are only added and not removed (unless otherwise noted), so the latest version of lparcfg contains all fields in all previous versions of the file as well. No cap, itโs cumulative. โจ
๐งธ lparcfg 1.6 based values ๐งธ
Values added in lparcfg 1.7, 1.8, 1.9 are listed below.
serial_numberโ The serial number of the physical system in which the partition resides. ๐ท๏ธsystem_typeโ Themachine,type-modelof the physical system in which the partition resides.partition_idโ The numeric partition ID. Simple. Iconic.R4โ The hexadecimal representation ofpartition_entitled_capacity. This field is deprecated and not displayed on more recent versions of the Linux kernel (lparcfg 1.8or greater). The definition is only provided for historical purposes. ๐ซR5โ The hexadecimal representation ofunallocated_capacity. Not displayed on more recent versions of the Linux kernel. This field is deprecated and not displayed on more recent versions of the Linux kernel (lparcfg 1.8or greater). The definition is only provided for historical purposes. ๐ซR6โ This is a hexadecimal value representing both thegroupandpool. This field is deprecated and not displayed on more recent versions of the Linux kernel (lparcfg 1.8or greater). The definition is only provided for historical purposes. ๐ซR7โ This is a hexadecimal value representingcapped,capacity_weight,unallocated_capacity_weight,pool_capacity, andsystem_active_processors. This field is deprecated and not displayed on more recent versions of the Linux kernel (lparcfg 1.8or greater). The definition is only provided for historical purposes. ๐ซBoundThrdsโ For virtual processor dispatches, if the hypervisor always dispatches a set of virtual threads together on a physical processor, the threads are said to be bound. This allows an operating system to make scheduling decisions based on cache affinity and work load. Set to1if threads are bound,0otherwise. This value is informational and is not a tunable value. ๐งตCapIncโ This defines the delta by which the entitled capacity of a partition can be incremented or decremented byDLPAR/WLM. The capacity increment is expressed as a percentage of a physical processor. This value is informational and is not a tunable value. ๐DisWheRotPerโ The duration of the hypervisorโs scheduling window. The time over which the entitled capacity of a virtual processor has to be utilized by the partition. At the start of a dispatch wheel rotation period, each virtual processor is eligible for CPU time corresponding to its entitled capacity. If the entire entitled capacity of a virtual processor is not utilized during a dispatch wheel rotation period, the unused entitled capacity is lost. The dispatch wheel rotation period is expressed asNnumber of time base ticks. The dispatch wheel duration of a partition with a capacity increment of100is0. This value is informational and is not a tunable value. โณMinEntCapโ The minimum entitled capacity that is needed to boot the partition. The capacity is expressed as a percentage of a physical processor. The minimum entitled capacity is set by the system administrator in the partition definition.DLPARcannot take the entitled capacity below the minimum entitled capacity. A change in the minimum entitled capacity takes effect on the next reboot of the partition. Linux running in a partition can give up its entitled capacity to be below the minimum entitled capacity, but this is generally not recommended. ๐จMinEntCapPerVPโ The minimum entitled capacity that the platform requires for a virtual processor of any partition on the platform. The minimum capacity per virtual processor is enforced by theHMCin the partition definition and by the hypervisor. A change in the minimum entitled capacity per virtual processor takes effect on the next reboot of the partition. This is a physical system setting and is not considered a Linux partition tunable. ๐งฎMinMemโ The minimum amount of main store that is needed to boot the partition. Minimum memory is expressed inMBof storage. The minimum memory is set by the system administrator in the partition definition.DLPARcannot take the partition memory below the minimum memory. A change in the minimum memory takes effect on the next reboot of the partition. Linux running in a partition can always give up its memory to go below the minimum memory. ๐งMinProcsโ The minimum number of virtual processors that are needed to boot the partition. The minimum number of virtual processors is set by the system administrator in the partition definition.DLPARcannot take the number of virtual processors below the minimum number of processors. A change in the minimum number of processors takes effect on the next reboot of the partition. A partition can always give up its virtual processors to go below the minimum number of processors. The number of virtual processors is a simulated physical core view. Additional logical CPUs are defined in the Linux partition to account for the possible hardware threads. ๐งฉpartition_max_entitled_capacityโ The maximum entitled capacity currently that can be assigned to the partition throughDLPAR/WLM. The capacity is expressed as a percentage of a physical processor. The Maximum entitled capacity is set up by the system administrator in the partition definition. A change in the maximum entitled capacity maximum takes effect on the next reboot of the partition. ๐system_potential_processorsโ The maximum number of physical processors that can be active on the platform. A change in the maximum platform processors takes effect on the next reboot of the partition. ๐ฅ๏ธDesEntCapโ The desired entitled capacity is the number of processing units, expressed as a percentage of a physical processor, which is desired for a logical partition. The desired entitled capacity is the same as the desired processing units on theHMC. If the system has at least the desired number of processing units available when you activate the partition, then the system commits the desired number of processing units to the logical partition. If the desired number of processing units is not available, but at least the minimum number of processing units is available, then the system activates the logical partition with the processing units it has. Desired is a whole mood. ๐DesMemโ The desired memory set by the system administrator in the partition definition. The desired memory is expressed inMBof storage. The desired memory can change without a reboot of the partition. The desired memory that the partition is currently using may differ from the desired memory because ofWLMactions or because of failed system memory. ๐DesProcsโ The desired number of virtual processors set by the system administrator in the partition definition. The desired number of processors can change without a reboot of the partition. The number of processors that the partition is currently using may differ from the desired number of processors because ofWLMactions or because of failed system processors. ๐งDesVarCapWtโ The desired variable capacity weight set by the system administrator in the partition definition. The desired variable capacity weight is a number between0and255. The desired variable capacity weight can change without a reboot of the partition. The variable capacity weight that the partition is currently using may differ from the desired variable capacity because ofWLMactions. โ๏ธDedDonModeโ For a partition with a capacity increment of100, the platform uses a dedicated CPU to actualize a virtual processor of the partition. For such a partition, the platform can increase the capacity of the shared processor pool by utilizing the unused processor capacity of the partition. If the platform supports the dedicated donate function, it can be enabled by the system administrator in the partition definition. The value of this characteristic can change without a reboot of the partition. The values for this field are0and1. ๐partition_entitled_capacityโ Entitled Processor Capacity Percentage. The percentage of a physical processor that the hypervisor guarantees to be available to the partitionโs virtual processors (distributed in a uniform manner among the partitionโs virtual processors โ thus the number of virtual processors affects the time slice size) each dispatch cycle. Capacity ceded or conferred from one partition virtual processor extends the time slices offered to other partition processors. Capacity ceded or conferred after all of the partitionโs virtual processors have been dispatched is added to the variable capacity kitty. The initial, minimum and maximum constraint values of this parameter are determined by the partition configuration definition. The OS can set this parameter within the constraints imposed by the partition configuration definition minimum and maximums plus constraints imposed by partition aggregation. To change this value, echo the newpartition_entitled_capacityinto/proc/ppc64/lparcfglike this: ๐
echo "partition_entitled_capacity=40" > /proc/ppc64/lparcfg
groupโ LPAR group number of the partition. ๐ซถsystem_active_processorsโ The number of processors active on the underlying physical system. ๐ฅpoolโ The pool number of the shared processor pool for the partition. This field is not displayed in the case of a dedicated processor partition. ๐pool_capacityโ The number of physical processors active in the partitionโs processor pool. This field is not displayed in the case of a dedicated processor partition. This value is expressed as a percentage so is100*the number of active physical processors. ๐pool_idle_timeโ If no virtual processor is ready to run, thepool_idle_countis incremented the total number of idle processor cycles in the physical processor pool. This field contains the total number of idle processor cycles up to the current point in time. If unsupported or if performance information collection is not enabled for the partition on theHMC, this will report0. This field is not displayed in the case of a dedicated processor partition. For more information, see theNOTESsection below onPURR/PIC. ๐ดpool_num_procsโ The number of physical processors in the partitionโs processing pool. This field is not displayed in the case of a dedicated processor partition. ๐งฎunallocated_capacity_weightโ the Unallocated Variable Processor Capacity Weight, bestie ๐. It's how much variable processor capacity weight is actually available right now, inside the constraints of the partition's current environment, ready to be handed out to the partition's variable processor capacity weight.capacity_weightโ the Variable Processor Capacity Weight โจ. A unitless factor the hypervisor uses to dole out processor capacity on top of the Entitled Processor Capacity Percentage. Baby can take values0to255. For a dedicated processor partition this value is0. A virtual processor's time slice may get extended so it can slurp up capacity other partitions aren't using, or capacity that isn't needed to hit the Entitled Processor Capacity Percentage of the active partitions. A partition gets offered a slice of this variable capacity kitty equal to: (Variable Processor Capacity Weight for the partition) / (summation of Variable Processor Capacity Weights for all competing partitions). The starting value comes from the partition configuration definition. The OS can set this parameter within the constraints imposed by the partition configuration definition maximum. Certain partition definitions may not allow any variable processor capacity allocation, no cap. To change this value, echo the newcapacity_weightinto/proc/ppc64/lparcfglike this:
echo "capacity_weight=128" > /proc/ppc64/lparcfg
cappedโ if this is1, the partition's virtual processor(s) are capped at their entitled processor capacity percentage ๐. Ifcapped=0, the partition is uncapped and can use processor capacity from the uncapped pool, if it's available and according to the weighted values. In the case of dedicated processors this bit is set.unallocated_capacityโ the Unallocated Processor Capacity Percentage. How much processor capacity is currently available, within the constraints of the partition's current environment, for allocation to Entitled Processor Capacity Percentage. It's giving leftovers-but-make-it-fancy ๐.purrโ the Processor Utilization of Resources Register. It's the summation of the PURR value for all of the partition's virtual processors. Peep the NOTES section below for more on PURR and PIC. This value is typically not a metric used ๐.partition_active_processorsโ the total number of virtual processors assigned to the partition. This does not include the potential SMT threads. For dedicated processor partitions, this is the number of physical processors assigned to the partition. Linux will define virtual CPUs for the possible SMT threads across all of the virtual processors defined here.partition_potential_processorsโ the maximum number of virtual processors that can be assigned to the partition. Again, no SMT threads counted here. For dedicated processor partitions, this is the maximum number of physical processors that can be assigned to the partition.shared_processor_modeโ set to1if the partition is running with shared processors, and set to0for dedicated processor partitions. Simple as ๐.
lparcfg 1.7 additional fields
slb_sizeโ the total number of entries in the Segment Lookaside Buffer (SLB) ๐ธ. It's an attribute of the underlying processor architecture and is provided for informational purposes. The Linux OS uses this when determining the ability to perform Live Partition Migration with differing processor families. iykyk.
lparcfg 1.8
entitled_memoryโ the number of bytes of main storage that the partition is entitled to DMA map for virtual I/O devices. In the case of a dedicated memory partition this is the size of the partition's logical address space. To change this value, echo the newentitled_memoryvalue into/proc/ppc64/lparcfglike this:
echo "entitled_memory=80740352" > /proc/ppc64/lparcfg
mapped_entitled_memoryโ the number of bytes of main storage that the partition has DMA mapped. In the case of a dedicated memory partition this is not displayed ๐.entitled_memory_group_numberโ Entitled Memory Group Number. That's the whole description, she's brief and iconic ๐ .entitled_memory_pool_numberโ entitled memory pool number. In the case of a dedicated memory partition, this is65535.entitled_memory_weightโ the partition's shared memory weight. In the case of a dedicated memory partition this is0. To change this value, echo the newentitled_memory_weightvalue into/proc/ppc64/lparcfglike this:
echo "entitled_memory_weight=128" > /proc/ppc64/lparcfg
unallocated_entitled_memory_weightโ the unallocated shared memory weight for the calling partition's aggregation. In the case of a dedicated memory partition this is0.unallocated_io_mapping_entitlementโ the unallocated I/O mapping entitlement for the calling partition's aggregation divided by4096. In the case of a dedicated memory partition this is0.entitled_memory_loan_requestโ the signed difference between the number of bytes of logical storage currently on loan from the calling partition and the partition's overage allotment (a positive number means the partition is being asked to loan the indicated number of bytes, else they'll be expropriated as needed ๐ญ). In the case of a dedicated memory partition this is0. In the case of a shared memory partition, when running the Collaborative Memory Manager (cmmmodule), this will typically be0, since the CMM will monitor and fulfill the hypervisor's loan requests. Very responsible of her tbh.backing_memoryโ the number of bytes of main storage backing the partition logical address space. In the case of a dedicated memory partition this is the size of the partition's logical address space.cmo_enabledโ set to1if Active Memory Sharing is enabled for the partition. For dedicated memory partitions, this is0.cmo_faultsโ displayed only for shared memory partitions. It's the total number of times the partition has accessed a page in memory which was paged out to disk by firmware, requiring it to be paged back in. If the Collaborative Memory Manager is disabled, this value may be large ๐ณ. If it's enabled (the default setting for most Linux distributions), this number is typically small. If this value is large and increasing, it may be an indication that the partition's shared memory pool has too high of an overcommit ratio, in which case you may need to assign additional physical memory to the shared memory pool. Consider this your vibe check ๐ซถ.cmo_fault_time_usecโ displayed only for shared memory partitions. The total amount of time in microseconds the partition has had a virtual processor blocked in order for firmware to page in data. Directly related tocmo_faults, they're a package deal ๐ง.cmo_primary_pspโ displayed only for shared memory partitions. Partition ID of the primary paging VIOS.cmo_secondary_pspโ displayed only for shared memory partitions. Partition ID of the secondary paging VIOS. If there's no secondary paging VIOS, this will be set to65535.cmo_page_sizeโ displayed only for shared memory partitions. Physical page size in bytes. โจ
lparcfg 1.9 additional fields
physical_procs_allocated_to_virtualizationโ the number of physical platform processors allocated to processor virtualization. It's a physical system attribute and has no bearing on the Linux partition. Not about you, bestie ๐.max_proc_capacity_availableโ the maximum processor capacity percentage available to the partition's shared processor pool.entitled_proc_capacity_availableโ the entitled processor capacity percentage available to the partition's pool.dispatchesโ Virtual Processor Dispatch Counter. A counter that gets incremented each time a virtual processor is dispatched/preempted.dispatch_dispersionsโ Virtual Processor Dispatch Dispersion Accumulator. Incremented on each virtual processor dispatch if the physical processor differs from that of the last dispatch.coalesced_bytesโ the number of bytes of memory assigned to the logical partition which have been coalesced with identical pages, either within the logical partition or with another logical partition ๐.pool_coalesced_bytesโ the number of bytes of memory in the shared memory pool which have been coalesced with identical pages.coalesce_pool_purrโ the number of PURR cycles consumed to coalesce pages of data.coalesce_pool_spurrโ the number of SPURR cycles consumed to coalesce pages of data. Matching set, we love to see it ๐.
โจ NOTES โจ
PURR/PIC ๐ธ
These two statistics are counts in the same units as counted by the processor time base. Like the time base, the PUR and PIC are 64 bit values that are set to a numerically low value during system initialization. The difference between their values at the end and beginning of monitored operations gives you the data on virtual processor performance ๐.
The value of the PUR is a count of processor cycles used by the calling virtual processor. The PUR count is intended to give the partition software an indication of the computation load supported by the virtual processor. Shared processor virtual processors are created by dispatching the virtual processor's architectural state on one of the physical processors from a pool of physical processors. The value of the PIC is the summation of the physical processor pool idle cycles โ that is, the number of time base counts when the pool could not dispatch a virtual processor. The PIC count is intended to give platform management software an indication of the pool capacity to perform more work. Literally so much lore ๐ฅ.
Processors vs. SMT threads ๐ฆ
The Power processors support Simultaneous Multi-Threading (SMT). SMT is generally enabled by default on most Linux distributions that support Power. When it's on, a single Power 5 or Power 6 CPU will be seen as up to two logical CPUs in the Linux operating system. A single Power 7 CPU will be seen as four logical CPUs. SMT can be disabled with the ppc64_cpu utility, which is packaged in powerpc-utils. When SMT is disabled, the logical CPUs seen by Linux will not be contiguous โ ๏ธ. For example, a four core Power 7 partition with SMT disabled will show CPUs 0, 4, 8, and 12 in /proc/cpuinfo. A Power7 CPU/processor/core can also be set to SMT=2 mode. No cap, she contains multitudes ๐.
๐ VERSIONS ๐
Linux Distribution Version Mapping โ here's the brief list mapping some enterprise versions of Linux for Power to the version of the lparcfg file:
SLES 9:lparcfg 1.6SLES 10:lparcfg 1.7SLES 11:lparcfg 1.8SLES 11 SP1:lparcfg 1.9RHEL 4:lparcfg 1.6RHEL 5:lparcfg 1.7RHEL 6:lparcfg 1.9
๐ FILES ๐
/proc/ppc64/lparcfg
๐ AUTHOR ๐
Written by Brian King <brking@linux.vnet.ibm.com>. Shoutout to him, fr fr ๐.
Comments and questions on this document should be posted on the Linux for Power Architecture forum: http://www.ibm.com/developerworks/forums/forum.jspa?forumID=375&start=0.
That's the whole page, bestie โ you made it to the end, and the original footer is a lil' time capsule from August 2010, stamped with the source page LPARCFG(5) ๐
โจ. Go forth and read your /proc/ppc64/lparcfg with confidence ๐ซถ๐ฆ
๐ฆ where this page comes from
- opensuse-leap 16.0: powerpc-utils 1.3.14-160000.2.1 ยท GPL-2.0-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms