Tools for monitoring Active Memory Deduplication
To monitor memory poolwide statistics from the operating system, you must enable the logical partitions that are running the operating system to collect performance information. You can enable performance information gathering by using the Hardware Management Console (HMC) graphical interface or the command line. Standard memory monitoring commands such as svmon and vmstat can also be used to gather additional information about memory usage.
For more information about enabling performance data collection, see Enabling data collection.
Monitoring in AIX®
You can view the Active Memory Deduplication statistics by using the lparstat command. The result might look like the following output:
# lparstat -mpw 1
System configuration: lcpu=4 mem=3072MB mpsz=40.00GB iome=111.00MB iomp=10 ent=0.50
physb hpi hpit pmem iomin iomu iomf iohwm iomaf pgcol mpgcol ccol %entc vcsw
----- ----- ----- ----- ------ ------ ------ ------ ----- ------ ------ ---- -----
99.42 0 0 1.10 48.2 12.2 50.8 14.5 0 395.2 517.1 0.0 199.8 574
99.45 0 0 1.10 48.2 12.2 50.8 14.5 0 395.2 517.2 0.0 199.8 592
99.25 0 0 1.10 48.2 12.2 50.8 14.5 0 395.2 517.3 0.0 199.5 538
99.36 0 0 1.10 48.2 12.2 50.8 14.5 0 395.1 517.4 0.0 199.7 510
99.05 0 0 1.10 48.2 12.2 50.8 14.5 0 395.2 517.5 0.0 199.7 625
99.07 0 0 1.10 48.2 12.2 50.8 14.5 0 395.2 517.6 0.0 199.7 540
99.33 0 0 1.10 48.2 12.2 50.8 14.5 0 395.2 517.6 0.0 199.6 537
99.05 0 0 1.10 48.2 12.2 50.8 14.5 0 395.2 517.8 0.0 199.7 640
where: - pmem indicates the physical memory, in GB, that is currently allocated to the logical partition by the hypervisor.
- pgcol indicates the amount of logical partition memory, in MB, that is currently coalesced due to the Active Memory Deduplication activity.
- mpgcol indicates the amount of coalesced memory, in MB, in the entire shared memory pool due to the Active Memory Deduplication activity. If the partition is not authorized to access memory poolwide statistics, this metric displays zero.
- ccol indicates the amount of processor power, measured in the number of processing units that is used for coalescing pages during the Active Memory Deduplication activity. If the partition is not authorized to access memory poolwide statistics, this metric displays zero.
Monitoring in IBM i
# lslparutil -r mempool -m POWER7_MemoryDeduptime=11/23/2011
12:07:03,event_type=sample,resource_type=mempool,sys_time=08/23/2012
12:11:16,curr_pool_mem=30720,lpar_curr_io_entitled_mem=2665,lpar_mapped_io_entitle
d_mem=37,lpar_run_mem=33792,sys_firmware_pool_mem=406,page_faults=178948,page_in_d
elay=26769514468,mem_dedup=1,dedup_pool_mem=0.0091,lpar_dedup_mem=0.0544,dedup_cyc
les=31838208792where: - mem_dedup indicates whether Active Memory Deduplication is enabled or disabled.
- dedup_pool_mem indicates the amount of deduplicated memory in the shared pool.
- lpar_dedup_mem indicates the number of logical partitions of virtual memory that have been deduplicated.
- dedup_cycles indicates the number of cycles that have been used since Active Memory Deduplication was activated on the system.
Monitoring in Linux
In the Linux® operating system, memory deduplication statistics are shown by using the amsstat command, which is provided by the powerpc-utils package. Red Hat Enterprise Linux and SUSE Linux Enterprise Server include the powerpc-utils package within their Power® platform server releases. The amsstat command captures memory statistics that are relevant to a PowerVM® Active Memory Sharing environment.
The result might look like the following output:
# amsstatSystem Memory Statistics:MemTotal: 3087488 kB
MemFree: 2623680 kB
Buffers: 106816 kB
Cached: 156416 kB
Inactive: 79680 kB
Inactive(anon): 35392 kB
Inactive(file): 44288 kB
SwapTotal: 3276672 kB
SwapFree: 3206848 kB
DesMem: 3072 MBEntitlement Information:entitled_memory: 116391936
mapped_entitled_memory: 2924544
entitled_memory_group_number: 32772
entitled_memory_pool_number: 0
entitled_memory_weight: 0
entitled_memory_pool_size: 42949672960
entitled_memory_loan_request: -210063360
backing_memory: 2312380416
coalesced_bytes: 183795712
pool_coalesced_bytes: 588681216
cmo_enabled: 1
cmo_faults: 27041
cmo_fault_time_usec: 175967701
cmo_primary_psp: 1
cmo_secondary_psp: 2CMM Statistics:disable: 0
debug: 0
min_mem_mb: 256
oom_kb: 1024
hotplug_delay: 5
delay: 1
loaned_kb: 0
loaned_target_kb: 0
oom_freed_kb: 0VIO Bus Statistics:cmo_entitled: 116391936
cmo_reserve_size: 12183552
cmo_excess_size: 104208384
cmo_excess_free: 104208384
cmo_spare: 1562624
cmo_min: 7813120
cmo_desired: 12183552
cmo_curr: 3346432
cmo_high: 11968512VIO Device Statistics:l-lan@3000000b: cmo_desired: 4243456
cmo_entitled: 4243456
cmo_allocated: 2928640
cmo_allocs_failed: 0v-scsi@30000191:cmo_desired: 2125824
cmo_entitled: 2125824
cmo_allocated: 139264
cmo_allocs_failed: 0v-scsi@30000192:cmo_desired: 2125824
cmo_entitled: 2125824
cmo_allocated: 139264
cmo_allocs_failed: 0v-scsi@3000019a:cmo_desired: 2125824
cmo_entitled: 2125824
cmo_allocated: 139264
cmo_allocs_failed: 0where: - backing_memory indicates the amount of physical memory, in bytes, that is currently assigned to the partition. This value changes over time based on the workload of all of the partitions in the shared memory pool. Using more memory than this amount results in performance penalties, such as page loaning and paging starts occurring.
- coalesced_bytes indicates the number of bytes assigned to the logical partition that have been coalesced with other identical pages either from within the logical partition or from another logical partition.
- pool_coalesced_bytes indicates the number of bytes in the system shared memory pool that have been coalesced with identical pages.
There is no option in the amsstat command to monitor Virtual I/O Server (VIOS) processor cycles that are used for memory page coalescing.