LPARCFG(5) | File Formats Manual | LPARCFG(5) |
NAME¶
/proc/ppc64/lparcfg - IBM Power LPAR Configuration Data
SYNOPSIS¶
/proc/ppc64/lparcfg
cat /proc/ppc64/lparcfg
DESCRIPTION¶
The lparcfg file is a virtual file which contains information related to an IBM Power Logical Partition.
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.
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
The machine,type-model of the physical system in which the partition
resides
partition_id
The numeric partition ID.
R4
The hexadecimal representation of partition_entitled_capacity. This field is
deprecated and not displayed on more recent versions of the Linux kernel (
lparcfg 1.8 or greater). The definition is only provided for
historical purposes.
R5
The hexadecimal representation of unallocated_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.8
or greater). The definition is only provided for historical purposes.
R6
This is a hexadecimal value representing both the group and pool. This field
is deprecated and not displayed on more recent versions of the Linux kernel
( lparcfg 1.8 or greater). The definition is only provided for
historical purposes.
R7
This is a hexadecimal value representing capped, capacity_weight,
unallocated_capacity_weight, pool_capacity, and system_active_processors.
This field is deprecated and not displayed on more recent versions of the
Linux kernel ( lparcfg 1.8 or 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 to 1 if threads are bound, 0 otherwise.
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 by DLPAR/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 as N number of time
base ticks. The dispatch wheel duration of a partition with a capacity
increment of 100 is 0. 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. DLPAR cannot 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 the HMC in 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 in MB of storage. The minimum memory is set by the
system administrator in the partition definition. DLPAR cannot 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. DLPAR cannot 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
through DLPAR/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 the HMC. 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.
DesMem
The desired memory set by the system administrator in the partition
definition. The desired memory is expressed in MB of 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
of WLM actions 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 of WLM actions 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
between 0 and 255. 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 of WLM
actions.
DedDonMode
For a partition with a capacity increment of 100, 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 are 0 and 1.
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 new partition_entitled_capacity
into /proc/ppc64/lparcfg like 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 is 100* the number of active
physical processors.
pool_idle_time
If no virtual processor is ready to run, the pool_idle_count is 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 the HMC, this will report 0.
This field is not displayed in the case of a dedicated processor partition.
For more information, see the NOTES section below on PURR/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
Unallocated Variable Processor Capacity Weight. The amount of variable
processor capacity weight that is currently available within the constraints
of the partition's current environment for allocation to the partition's
variable processor capacity weight.
capacity_weight
Variable Processor Capacity Weight. The unitless factor that the hypervisor
uses to assign processor capacity in addition to the Entitled Processor
Capacity Percentage. This factor may take the values 0 to 255. In the case
of a dedicated processor partition this value is 0. A virtual processor's
time slice may be extended to allow it to use capacity unused by other
partitions, or not needed to meet the Entitled Processor Capacity Percentage
of the active partitions. A partition is offered a portion 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 initial value of this parameter is determined by
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. To change this value, echo the new capacity_weight into
/proc/ppc64/lparcfg like this:
- echo "capacity_weight=128" > /proc/ppc64/lparcfg
capped
The partition's virtual processor(s) are capped at their entitled processor
capacity percentage if this is 1. If capped=0, the partition is uncapped,
and can use processor capacity from the uncapped pool, if available and
according to the weighted values. In the case of dedicated processors this
bit is set.
unallocated_capacity
Unallocated Processor Capacity Percentage. The amount of processor capacity
that is currently available within the constraints of the partition's
current environment for allocation to Entitled Processor Capacity
Percentage.
purr
The Processor Utilization of Resources Register. Summation of the PURR value
for all of the partition's virtual processors. See the NOTES section below
for more information 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. This does not include SMT threads. For dedicated processor
partitions, this is the maximum number of physical processors that can be
assigned to the partition.
shared_processor_mode
This is set to 1 if the partition is running with shared processors. This is
set to 0 for dedicated processor partitions.
lparcfg 1.7 additional fields
slb_size
The total number of entries in the Segment Lookaside Buffer (SLB). This is 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.
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 new entitled_memory value into /proc/ppc64/lparcfg like
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
entitled_memory_pool_number
Entitled memory pool number. In the case of a dedicated memory partition, this
is 65535.
entitled_memory_weight
The partition's shared memory weight. In the case of a dedicated memory
partition this is 0. To change this value, echo the new
entitled_memory_weight value into /proc/ppc64/lparcfg like 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 is 0.
unallocated_io_mapping_entitlement
The unallocated I/O mapping entitlement for the calling partition's
aggregation divided by 4096. In the case of a dedicated memory partition
this is 0.
entitled_memory_loan_request
The signed difference between the number of bytes of logical storage that are
currently on loan from the calling partition and the partition's overage
allotment (a positive number indicates a request to the partition to loan
the indicated number of bytes else they will be expropriated as needed). In
the case of a dedicated memory partition this is 0. In the case of a shared
memory partition, when running the Collaborative Memory Manager (cmm
module), this will typically be 0, as the CMM will monitor and fulfill the
hypervisor's loan requests.
backing_memory
The number of bytes of main storage that is 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
If Active Memory Sharing is enabled for the partition, this is set to 1. For
dedicated memory partitions, this is 0.
cmo_faults
Displayed only for shared memory partitions. Indicates 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 is enabled
(default setting for most Linux distributions), this number is typically
small. If this value is large and is 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.
cmo_fault_time_usec
Displayed only for shared memory partitions. Indicates 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 to cmo_faults.
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 is no secondary paging VIOS, this will be set to
65535.
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. This is a physical system attribute and has no bearing on
the Linux partition.
max_proc_capacity_available
The maximum processor capacity percentage that is 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. Counter that is 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 which have been consumed to coalesce pages of
data.
coalesce_pool_spurr
The number of SPURR cycles which have been consumed to coalesce pages of
data.
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
provides 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 provide an indication to the partition software 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
provide an indication to platform management software of the pool capacity
to perform more work.
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 enabled, 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.
VERSIONS¶
Linux Distribution Version Mapping The following is a brief
list of the mapping of some enterprise versions of Linux for Power to the
version of the lparcfg file.
SLES 9: lparcfg 1.6
SLES 10: lparcfg 1.7
SLES 11: lparcfg 1.8
SLES 11 SP1: lparcfg 1.9
RHEL 4: lparcfg 1.6
RHEL 5: lparcfg 1.7
RHEL 6: lparcfg 1.9
FILES¶
- /proc/ppc64/lparcfg
AUTHOR¶
Written by Brian King <brking@linux.vnet.ibm.com>.
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.
August 2010 |