libperfstat.h File

Purpose

Describes the structures and constants used by the libperfstat API subroutines.

Syntax

#include <libperfstat.h>

Description

The libperfstat.h file defines the following symbolic constants, types, and structures:

Item Description
IDENTIFIER_LENGTH Length of strings included in the structures.
FIRST_LOGICALVOLUME Pseudo-name for the first logical volume.
FIRST_VOLUMEGROUP Pseudo-name for the first volume group.
FIRST_CPU Pseudo-name for the first logical processor.
FIRST_DISK Pseudo-name for the first disk.
FIRST_DISKADAPTER Pseudo-name for the first disk adapter.
FIRST_FCADAPTER Pseudo-name for the first fiber channel adapter.
FIRST_DISKPATH Pseudo-name for the first disk path.
FIRST_NETINTERFACE Pseudo-name for the first network interface.
FIRST_PAGINGSPACE Pseudo-name for the first paging space.
FIRST_PROTOCOL Pseudo-name for the first protocol.
FIRST_NETADAPTER pseudo-name for the first network adapter.
FIRST_NETBUFFER Pseudo-name for the first network buffer size.
FIRST_PSIZE Pseudo-name for the first paging size.
FIRST_TAPE Pseudo-name for the first tape.
FIRST_WPARNAME Pseudo-name for the first.WPAR
FIRST_WPARIDH Pseudo-id for the first.WPAR
FIRST_CLUSTERNAME Pseudo-name for the first cluster.
FIRST_NODENAME Pseudo-name for the first node in the cluster.
FIRST_HFI Pseudo-name for the first host fabric interface (HFI).
FIRST_WINDOW Pseudo-id for the first HFI window.
PAGE_4K Pseudo-name for 4 kilobyte page size.
PAGE_64K Pseudo name for 64 kilobyte page size.
PAGE_16M Pseudo-name for 16 megabyte page size.
PAGE_16G Pseudo-name for 16 gigabyte page size.
PERFSTAT_ENABLE Mask for perfstat_config to start the statistics collection.
PERFSTAT_DISABLE Mask for perfstat_config to disable statistics collection.
PERFSTAT_LV Mask for perfstat_config to indicate logical volume component.
PERFSTAT_CLUSTER_STATS Mask for perfstat_config to indicate cluster statistics.
PERFSTAT_HFISTATS Mask for perfstat_config to indicate HFI statistics.
PERFSTAT_SIZE Size of the adapter name.
FLUSH_CPUTOTAL Mask for perfstat_partial_reset to flush cached fields for perfstat_cpu_total_t.
FLUSH_DISK Mask for perfstat_partial_reset to flush cached fields for perfstat_disk_t.
RESET_DISK_MIN_MAX Mask for perfstat_partial_reset to reset minimum and maximum service and wait time statistics of the disk.
FLUSH_DISKADAPTER Mask for perfstat_partial_reset to flush cached fields for perfstat_diskadapter_t.
FLUSH_DISKPATH Mask for perfstat_partial_reset to flush cached fields for perfstat_diskpath_t.
FLUSH_PAGINGSPACE Mask for perfstat_partial_reset to flush cached fields for perfstat_pagingspace_t.
FLUSH_NETINTERFACE Mask for perfstat_partial_reset to flush cached fields for perfstat_netinterface_t.
FLUSH_LOGICALVOLUME Mask for perfstat_partial_reset to flush cached fields for perfstat_logicalvolume_t.
FLUSH_VOLUMEGROUP Mask for perfstat_partial_reset to flush cached fields for perfstat_volumegroup_t.
The perfstat_id_t structure contains the following members:
Item Description
char name [IDENTIFIER_LENGTH] Name of the identifier.
The perfstat_id_wpar_t structure contains the following members:
Item Description
wparid_specifier spec Specifies the input type. It can be WPARNAME, WPARID, or RSETHANDLE.
union u Specifies the WPAR identifier. The union u variable contains the following members:
 
  • cid_t wpar_id: WPAR ID
  • rsethandle_t rset: resource set handle
  • char wparname[MAXCORRALNAMELEN+1]: name of the WPAR
char name [IDENTIFIER_LENGTH] Specifies the component identifier.
The perfstat_id_node_t structure contains the following members:
Item Description
nodeid_specifier spec Specifies the input type. It must be NODENAME for perfstat_subsystem_node() interfaces. It must be CLUSTERNAME for perfstat_cluster_total() and perfstat_node_list() interfaces.
union u Specifies the WPAR identifier. The union u variable contains the following members:
 
  • char nodename [MAXHOSTNAMELEN]: name of the node/cluster.
char name [IDENTIFIER_LENGTH] Specifies the component identifier.
The perfstat_id_window_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Specifies the HFI identifier (FIRST_HFI, hfi0 or, hfi1, and so on).
u_longlong_t windowid Specifies the HFI window ID (0,1, 2, 3, and so on).
The perfstat_psize_t structure contains the following members:
Item Description
psize_t psize Specifies the page size.

Some members of the following structures are retrieved only once and stored in a memory cache by the library. A call to the perfstat_reset structure or the perfstat_partial_reset structure will flush those members. When possible, it is preferable to use the perfstat_partial_reset structure instead of the perfstat_reset structure.

The perfstat_cpu_t structure contains the following members:
Item Description
char name [IDENTIFIER_LENGTH] Logical processor name (processor0, processor1,.).
State Specifies whether the CPU is offline or online.
u_longlong_t user Raw number of clock ticks spent in user mode.
u_longlong_t sys Raw number of clock ticks spent in system mode.
u_longlong_t idle Raw number of clock ticks spent idle.
u_longlong_t wait Raw number of clock ticks spent waiting for I/O.
_longlong_t pswitch Number of context switches (changes of currently running process).
u_longlong_t syscall Number of system calls executed.
u_longlong_t sysread Number of read system calls executed.
u_longlong_t syswrite Number of write system calls executed.
u_longlong_t sysfork Number of fork system call executed.
u_longlong_t sysexec Number of exec system call executed.
u_longlong_t readch Number of characters transferred with read system call.
u_longlong_t writech Number of characters transferred with write system call.
u_longlong_t bread Number of block reads.
u_longlong_t bwrite Number of block writes.
u_longlong_t lread Number of logical read requests.
u_longlong_t lwrite Number of logical write requests.
u_longlong_t phread Number of physical reads (reads on raw device).
u_longlong_t phwrite Number of physical writes (writes on raw device).
u_longlong_t iget Number of inode lookups.
u_longlong_t namei Number of vnode lookup from a path name.
u_longlong_t dirblk Number of 512-byte blocks reads by the directory search routine to locate an entry for a file.
u_longlong_t msg Number of interprocess communication (IPC) message operations.
u_longlong_t sema Number of IPC semaphore operations.
u_longlong_t minfaults Number of page faults with no I/O.
u_longlong_t majfaults Number of page faults with disk I/O.
u_longlong_t puser Raw number of physical processor ticks in user mode.
u_longlong_t psys Raw number of physical processor ticks in system mode.
u_longlong_t pidle Raw number of physical processor ticks idle.
u_longlong_t pwait Raw number of physical processor ticks waiting for I/O.
u_longlong_t redisp_sd0 Number of thread redispatches within the scheduler affinity domain 0.
u_longlong_t redisp_sd1 Number of thread redispatches within the scheduler affinity domain 1.
u_longlong_t redisp_sd2 Number of thread redispatches within the scheduler affinity domain 2.
u_longlong_t redisp_sd3 Number of thread redispatches within the scheduler affinity domain 3.
u_longlong_t redisp_sd4 Number of thread redispatches within the scheduler affinity domain 4.
u_longlong_t redisp_sd5 Number of thread redispatches within the scheduler affinity domain 5.
u_longlong_t migration_push Number of thread migrations from the local runque to another queue due to starvation load balancing.
u_longlong_t migration_S3grq Number of thread migrations from the global runque to the local runque resulting in a move across scheduling domain 3.
u_longlong_t migration_S3pull Number of thread migrations from another processor's runque resulting in a move across scheduling domain 3.
u_longlong_t invol_cswitch Number of involuntary thread context switches.
u_longlong_t vol_cswitch Number of voluntary thread context switches.
u_longlong_t runque Number of threads on the runque.
u_longlong_t bound Number of bound threads.
u_longlong_t decrintrs Number of decrementer interrupts.
u_longlong_t mpcrintrs Number of received interrupts for MPC.
u_longlong_t mpcsintrs Number of sent interrupts for MPC.
u_longlong_t devintrs Number of device interrupts.
u_longlong_t softintrs Number of offlevel handlers called.
u_longlong_t phantintrs Number of phantom interrupts.
u_longlong_t idle_donated_purr Number of idle cycles donated by a dedicated partition enabled for donation.
u_longlong_t idle_donated_spurr Number of idle spurr cycles donated by a dedicated partition enabled for donation.
u_longlong_t busy_donated_purr Number of busy cycles donated by a dedicated partition enabled for donation.
u_longlong_t busy_donated_spurr Number of busy spurr cycles donated by a dedicated partition enabled for donation.
u_longlong_t idle_stolen_purr Number of idle cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t idle_stolen_spurr Number of idle spurr cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t busy_stolen_purr Number of busy cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t busy_stolen_spurr Number of busy spurr cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t shcpus_in_sys Number of physical processors allocated for shared processor use, across all shared processors pools.
u_longlong_t entitled_pool_capacity Entitled processor capacity of partition’s pool
u_longlong_t pool_max_time Summation of maximum time that can be consumed by the pool (nanoseconds)
u_longlong_t pool_busy_time Summation of busy (nonidle) time accumulated across all partitions in the pool (nanoseconds)
u_longlong_t pool_scaled_busy_time Scaled summation of busy (nonidle) time accumulated across all partitions in the pool (nanoseconds)
u_longlong_t shcpu_tot_time Summation of total time across all physical processors allocated for shared processor use (nanoseconds)
u_longlong_t shcpu_busy_time Summation of busy (nonidle) time accumulated across all shared processor partitions (nanoseconds)
u_longlong_t shcpu_scaled_busy_time Scaled summation of busy time accumulated across all shared processor partitions (nanoseconds)
int ams_pool_id AMS pool ID of the pool the LPAR belongs to
int var_mem_weight Variable memory capacity weight
u_longlong_t iome I/O memory entitlement of the partition in bytes
u_longlong_t pmem Physical memory currently backing the partition's logical memory in bytes
u_longlong_t hpi Number of hypervisor page-ins
u_longlong_t hpit Time spent in hypervisor page-ins (in nanoseconds)
u_longlong_t hypv_pagesize Hypervisor page size in KB
uint online_lcpus Number of online logical processors
uint smt_thrds Number of SMT threads
The perfstat_cpu_total_wpar_t structure contains the following members:
Item Description
int ncpus Number of active logical processors in Global environment.
char description[IDENTIFIER_LENGTH] Processor description (type or official name).
u_longlong_t processorHZ Processor speed, in Hz.
u_longlong_t pswitch Number of process switches (change in running process).
u_longlong_t sysfork Number of forks system calls that are run.
u_longlong_t loadavg[3] (1<< SBITS) times the average number of runnable processes during the last 1, 5, and 15 minutes. To calculate the load average, divide the numbers by (1<< SBITS). SBITS is defined in the <sys/proc.h> file.
u_longlong_t runque Length of the run queue (processes ready).
u_longlong_t swpque Length of the swap queue (processes waiting to be paged in).
u_longlong_t runocc Updated whenever a runque is updated or occupied. This structure can be used to compute the simple average of ready processes.
u_longlong_t swpocc Updated whenever a swpque is updated or occupied. This structure can be used to compute the simple average processes waiting to be paged in.
u_longlong_t puser Raw number of physical processor ticks in user mode.
u_longlong_t psys Raw number of physical processor ticks in system mode.
u_longlong_t pidle Raw number of physical processor ticks idle.
u_longlong_t pwait Raw number of physical processor ticks waiting for I/O.
int ncpus_cfg Number of configured processors in the system.
u_longlong_t syscall Number of system calls that are run.
u_longlong_t sysread Number of read system calls that are run.
u_longlong_t syswrite Number of write system calls that are run.
u_longlong_t sysexec Number of execs system calls that are run.
u_longlong_t readch Number of characters transferred with read system call.
u_longlong_t writech Number of characters transferred with write system call.
u_longlong_t devintrs Number of device interrupts.
u_longlong_t softintrs Number of software interrupts.
u_longlong_t bread Number of blocks read.
u_longlong_t bwrite Number of blocks written.
u_longlong_t lread Number of logical read requests.
u_longlong_t lwrite Number of logical write requests.
u_longlong_t phread Number of physical reads (reads on raw devices).
u_longlong_t phwrite Number of physical writes (writes on raw devices).
u_longlong_t iget Number of inode lookups.
u_longlong_t namei Number of vnode lookup from a path name.
u_longlong_t dirblk Number of 512-byte blocks read by the directory search routine to locate an entry for a file.
u_longlong_t msg Number of IPC message operations.
u_longlong_t sema Number of IPC semaphore operations.
u_longlong_t ksched Number of kernel processes created.
u_longlong_t koverf Kernel process creation attempts when the configuration limit of processes has been reached or the user has forked to the maximum limit.
u_longlong_t kexit Number of kernel processes that became zombie processes.
The perfstat_cpu_total_t structure contains the following members:
Item Description
int ncpus Number of active logical processors.
int ncpus_cfg Number of configured processors.
char description [IDENTIFIER_LENGTH] Processor description (type/official name).
u_longlong_t processorHZ Processor speed in Hz.
u_longlong_t user Raw total number of clock ticks spent in user mode.
u_longlong_t sys Raw total number of clock ticks spent in system mode.
u_longlong_t idle Raw total number of clock ticks spent idle.
u_longlong_t wait Raw total number of clock ticks spent waiting for I/O.
u_longlong_t pswitch Number of process switches (change in currently running process).
u_longlong_t syscall Number of system calls executed.
u_longlong_t sysread Number of read system calls executed.
u_longlong_t syswrite Number of write system calls executed.
u_longlong_t sysfork Number of forks system calls executed.
u_longlong_t sysexec Number of execs system calls executed.
u_longlong_t readch Number of characters transferred with read system call.
u_longlong_t writech Number of characters transferred with write system call.
u_longlong_t devintrs Number of device interrupts.
u_longlong_t softintrs Number of software interrupts.
ime_t lbolt Number of ticks since last reboot.
u_longlong_t loadavg[3] (1<< SBITS) times the average number of runnable processes during the last 1, 5 and 15 minutes. To calculate the load average, divide the numbers by (1<< SBITS). SBITS is defined in the <sys/proc.h> file.
u_longlong_t runque Length of the run queue (processes ready).
u_longlong_t swpque Length of the swap queue (processes waiting to be paged in).
u_longlong_t bread Number of blocks read.
u_longlong_t bwrite Number of blocks written.
u_longlong_t lread Number of logical read requests.
u_longlong_t lwrite Number of logical write requests.
u_longlong_t phread Number of physical reads (reads on raw devices).
u_longlong_t phwrite Number of physical writes (writes on raw devices).
u_longlong_t runocc Updated whenever runque is updated. For example, when the run queue is occupied. This can be used to compute the simple average of ready processes.
u_longlong_t swpocc Updated whenever swpque is updated. For example, when the swpqueue is occupied. This can be used to compute the simple average processes waiting to be paged in.
u_longlong_t iget Number of inode lookups.
u_longlong_t namei Number of vnode lookup from a path name.
u_longlong_t dirblk Number of 512-byte blocks reads by the directory search routine to locate an entry for a file.
u_longlong_t msg Number of IPC message operations.
u_longlong_t sema Number of IPC semaphore operations.
u_longlong_t rcvint Number of tty receive interrupts.
u_longlong_t xmtint Number of tyy transmit interrupts.
u_longlong_t mdmint Number of modem interrupts.
u_longlong_t tty_rawinch Number of raw input characters.
u_longlong_t tty_caninch Number of canonical input characters (always zero).
u_longlong_t tty_rawoutch Number of raw output characters.
u_longlong_t ksched Number of kernel processes created.
u_longlong_t koverf Number of kernel process creation attempts where:
  • the user has forked to their maximum limit
  • the configuration limit of processes has been reached
u_longlong_t kexit Number of kernel processes that became zombies.
u_longlong_t rbread Number of remote read requests.
u_longlong_t rbread Number of remote read requests.
u_longlong_t rbwrt Number of remote writes.
u_longlong_t rcwrt Number of cached remote writes.
u_longlong_t traps Number of traps.
int ncpus_high Index of highest processor online.
u_longlong_t puser Raw number of physical processor ticks in user mode.
u_longlong_t psys raw Number of physical processor ticks in system mode.
u_longlong_t pidle raw Number of physical processor ticks idle.
u_longlong_t pwait raw Number of physical processor ticks waiting for I/O.
u_longlong_t decrintrs Number of decrementer interrupts.
u_longlong_t mpcrintrs Number of received interrupts for MPC.
u_longlong_t mpcsintrs Number of sent interrupts for MPC.
u_longlong_t phantintrs Number of phantom interrupts.
u_longlong_t idle_donated_purr Number of idle cycles donated by a dedicated partition enabled for donation.
u_longlong_t idle_donated_spurr Number of idle spurr cycles donated by a dedicated partition enabled for donation.
u_longlong_t busy_donated_purr Number of busy cycles donated by a dedicated partition enabled for donation.
u_longlong_t busy_donated_spurr Number of busy spurr cycles donated by a dedicated partition enabled for donation.
u_longlong_t idle_stolen_purr Number of idle cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t idle_stolen_spurr Number of idle spurr cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t busy_stolen_purr Number of busy cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t busy_stolen_spurr Number of busy spurr cycles stolen by the hypervisor from a dedicated partition.
short iowait Number of processes that are asleep waiting for buffered I/O.
short physio Number of processes waiting for raw I/O.
longlong_t twait Number of threads that are waiting for file system direct (cio).
u_longlong_t hpi Number of hypervisor page-ins.
u_longlong_t hpit Time spent in hypervisor page-ins (in nanoseconds).
The description and speed members of the perfstat_cpu_total_t structure are stored in the information cache. They can be flushed by making one of the following calls:
  • perfstat_reset()
  • perfstat_partial_reset(NULL, FLUSH_CPUTOTAL)

The perfstat_rawdata_t structure contains the following members:

Item Description
int type Holds one of the following defined values:
  • #define UTIL_CPU_TOTAL 10
  • #define UTIL_CPU 11
  • #define UTIL_PROCESS 12
  • #define SHARED_POOL_UTIL 13
perfstat_id_t name Name element.
void *curstat Pointer to the data buffer.
void *prevstat Pointer to the data buffer.
int sizeof_data Size of the stat buffer.
int cur_elems Number of current elements.
int prev_elems Number of previous elements.

The perfstat_partition_total_t structure contains the following members:

Item Description
char name[IDENTIFIER_LENGTH] Name [IDENTIFIER_LENGTH].
perfstat_partition_type_t type Set of bits describing partition type.
int lpar_id Logical partition identifier.
int group_id Identifier of the LPAR group this partition is a member of.
int pool_id Identifier of the shared pool of physical processors this partition is a member of.
int online_cpus Number of virtual processors currently online on the partition.
int max_cpus Maximum number of virtual processors this partition can ever have.
int min_cpus Minimum number of virtual processors this partition must have.
purr_counter Number of purr cycles spent in user and kernel mode.
real_free Free real memory (in 4 KB pages).
real_avail Number of pages (in 4 KB pages) of memory available without paging out working segments.
spurr_counter Number of spurr cycles spent in user and kernel mode.
u_longlong_t online_memory Amount of memory currently online.
u_longlong_t max_memory Maximum amount of memory this partition can ever have.
u_longlong_t min_memory Minimum amount of memory this partition must have.
int entitled_proc_capacity Number of processor units this partition is entitled to receive.
int max_proc_capacity Maximum number of processor units this partition can ever have.
int min_proc_capacity Minimum number of processor units this partition must have.
int proc_capacity_increment Increment value to the entitled capacity.
int unalloc_proc_capacity Unallocated processor units in the shared processor pool to which this partition belongs.
int var_proc_capacity_weight Unallocated variable processor capacity weight units in the shared processor pool to which this partition belongs.
int unalloc_var_proc_capacity_weight Number of variable processor capacity weight units currently unallocated in the shared processor pool this partition belongs to.
int online_phys_cpus_sys Number of physical processors currently active in the system containing this partition.
int max_phys_cpus_sys Maximum number of physical processors in the system containing this partition.
int phys_cpus_pool Available physicalprocessors in the shared processor pool to which this partition belongs.
u_longlong_t puser Raw number of physical processor ticks in user mode.
u_longlong_t psys Raw number of physical processor ticks in system mode.
u_longlong_t pidle Raw number of physical processor ticks idle.
u_longlong_t pwait Raw number of physical processor ticks waiting for I/O.
u_longlong_t pool_idle_time The summation of idle time (in nanoseconds) accumulated across all partitions in the shared processor pool to which this partition belongs.
u_longlong_t phantintrs Number of phantom interrupts.
u_longlong_t invol_virt_cswitch Number involuntary virtual processor context switches.
u_longlong_t vol_virt_cswitch Number voluntary virtual processor context switches.
u_longlong_t timebase_last Most recent processor time base timestamp.
u_longlong_t reserved_pages Number of 16 GB pages; cannot participate in DR operations.
u_longlong_t reserved_pagesize 16 GB pagesize; cannot participate in DR operations.
u_longlong_t idle_donated_purr Number of idle cycles donated by a dedicated partition enabled for donation.
u_longlong_t idle_donated_spurr Number of idle spurr cycles donated by a dedicated partition enabled for donation.
u_longlong_t busy_donated_purr Number of busy cycles donated by a dedicated partition enabled for donation.
u_longlong_t busy_donated_spurr Number of busy spurr cycles donated by a dedicated partition enabled for donation.
u_longlong_t idle_stolen_purr Number of idle cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t idle_stolen_spurr Number of idle spurr cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t busy_stolen_purr Number of busy cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t busy_stolen_spurr Number of busy spurr cycles stolen by the hypervisor from a dedicated partition.
u_longlong_t shcpus_in_sys Number of physical processors allocated for shared processor use, across all shared processors pools.
u_longlong_t max_pool_capacity Maximum processor capacity of shared processor pool to which this partition belongs
u_longlong_t entitled_pool_capacity Entitled processor capacity of shared processor pool to which this partition belongs.
u_longlong_t pool_max_time The summation of maximum time (in nanoseconds) that might be used by the shared processor pool to which this partition belongs.
u_longlong_t pool_busy_time The summation of busy (nonidle) time (in nanoseconds) accumulated across all partitions in the shared processor pool to which this partition belongs.
u_longlong_t pool_scaled_busy_time The summation of busy (nonidle) time in (nanoseconds) accumulated across all partitions in the shared processor pool to which this partition belongs. The time is against rated or nominal frequency.
u_longlong_t shcpu_tot_time The summation of total time (in nanoseconds) across all physical processors that are allocated to the shared processor pool (where the Pool ID equals 0) use across all shared processor pools.
u_longlong_t shcpu_busy_time The summation of busy (nonidle) time (in nanoseconds) accumulated across all physical processors for shared processor pool (where the Pool ID equals 0) use across all shared processor pools.
u_longlong_t shcpu_scaled_busy_time The summation of scaled busy (nonidle) time (in nanoseconds) accumulated across all partitions in the shared processor pool to which this partition belongs. The time is against rated or nominal frequency.
int ams_pool_id AMS pool ID of the pool the LPAR belongs to.
int var_mem_weight Variable memory capacity weight.
u_longlong_t iome I/O memory entitlement of the partition in bytes.
u_longlong_t pmem Physical memory currently backing the partition's logical memory in bytes.
u_longlong_t hpi Number of hypervisor page-ins.
u_longlong_t hpit Time spent in hypervisor page-ins (in nanoseconds).
u_longlong_t hypv_pagesize Hypervisor page size in KB.
uint online_lcpus Number of online logical processors.
uint smt_thrds Number of SMT threads.
uint power_save_mode Power save mode for the LPAR.
ushort ame_version AME version.
u_longlong_t true_memory True memory size in 4 KB pages.
u_longlong_t expanded_memory Expanded memory size in 4 KB pages.
u_longlong_t target_memexp_factr Target memory expansion factor scaled by 100.
u_longlong_t current_memexp_factr Current memory expansion factor scaled by 100.
u_longlong_t target_cpool_size Target compressed pool size in bytes.
u_longlong_t max_cpool_size Maximum size of compressed pool in bytes.
u_longlong_t min_ucpool_size Minimum size of uncompressed pool in bytes.
u_longlong_t ame_deficit_size Deficit memory size in bytes.
u_longlong_t MemPoolSize The memory pool size of the pool to which the partition belongs in bytes.
u_longlong_t IOMemEntInUse The I/O memory entitlement of the LPAR that is in use (in bytes).
u_longlong_t IOMemEntFree Free I/O memory entitlement (in bytes).
u_longlong_t IOHighWaterMark The high watermark of the I/O memory entitlement usage (in bytes).
Note: The fields IOMemEntInUse, IOMemEntFree, and IOHighWaterMark fields displays the actual values if the system is AMS enabled. Otherwise, it displays a 0. If AMS is enabled and displays a value of 0, it indicates the actual values. The amepatcommand can be used to know whether the system is AMS enabled.

The perfstat_partition_type_t structure contains the following members:

Item Description
unsigned:1 smt_capable OS supports SMT mode.
unsigned:1 smt_enabled SMT mode is on.
unsigned:1 lpar_capable OS supports logical partitioning.
unsigned:1 lpar_enabled Logical partitioning is on.
unsigned:1 shared_capable OS supports shared processor LPAR.
unsigned:1 shared_enabled Partition runs in shared mode.
unsigned:1 dlpar_capable OS supports dynamic LPAR.
unsigned:1 capped Partition is capped.
unsigned:1 kernel_is_64 Kernel is 64 bits.
unsigned:1 pool_util_authority Pool utilization data is available.
unsigned:1 donate_capable Partition capable of donating cycles.
unsigned:1 donate_enabled Partition enabled for donating cycles.
unsigned:1 power_save_mode Partition enabled for power savings.
unsigned:1 ame_enabled Partition enabled for AME

The perfstat_value_t structure contains the following members:

Item Description
u_longlong_t online Online statistics.
u_longlong_t max Maximum statistics.
u_longlong_t min Minimum statistics.
u_longlong_t desired Desired statistics.

The perfstat_partition_config_t structure contains the following members:

Item Description
u_longlong_t version Version number of data structure.
char partitionname[64] Partition name.
char nodename[64] Node name.
perfstat_partition_type_t conf Partition properties.
uint partitionnum Partition number.
uint groupid Group ID.
char processorFamily[64] Processor type.
char processorModel[64] Processor model.
char machineID[64] Machine ID.
double processorMHz Processor clock speed in MHz
perfstat_value_t numProcessors Number of configured physical processors in frame.
char OSName[64] Name of operating system.
char OSVersion[64] Version of operating system.
char OSBuild[64] Build of operating system.
uint lcpus Number of logical CPUs.
uint smtthreads Number of SMT threads.
uint drives Total number of drives.
uint nw_adapters Total number of network adapters.
perfstat_value_t cpucap Min, max, and online CPU capacity.
uint cpucap_weightage Variable processor capacity weightage.
int entitled_proc_capacity Number of processor units this partition is entitled to receive.
perfstat_value_t vcpus Min, max, and online virtual CPUs.
uint processor_poolid Shared pool ID of physical processors, to which this partition belongs.
uint activecpusinpool Count of physical CPUs in the shared processor pool, to which this partition belongs.
uint cpupool_weightage Pool weightage.
uint sharedpcpu Number of physical processors allocated for shared processor use.
uint maxpoolcap Maximum processor capacity of partition's pool.
uint entpoolcap Entitled processor capacity of partition's pool.
perfstat_value_t mem Min, max, and online memory.
uint mem_weightage Variable memory capacity weightage.
u_longlong_t totiomement I/O memory entitlement of the partition in bytes.
int mempoolid AMS pool ID of the pool the LPAR belongs to.
u_longlong_t hyperpgsize Hypervisor page size in KB.
perfstat_value_t exp_mem Min, max, and online expanded memory.
u_longlong_t targetmemexpfactor Target memory expansion factor scaled by 100.
u_longlong_t targetmemexpsize Expanded memory size in MB.
uint subprocessormode Sub processor mode for the partition.
The perfstat_wpar_total_t structure contains the following members:
Item Description
char name[MAXCORRALNAMELEN+1] Name of the.workload partition
perfstat_wpar_type_t type Set of bits describing the.WPAR
cid_t wpar_id workload partition identifier.
uint online_cpus Number of virtual processors in partition resource set (reset) or number of virtual processors that are online in the Global partition.
int cpu_limit Processor limit. This value is represented in percentage multiplied by 100. For example, if the limit is 50%, the value is 5000.
int mem_limit Memory limit. This value is represented in percentage multiplied by 100. For example, if the limit is 50%, the value is 5000.
u_longlong_t online_memory Amount of memory that is online in the Global partition.
int entitled_proc_capacity Number of processor units that the partition is entitled to receive.
The perfstat_wpar_type_t structure contains the following members:
Item Description
uint w
struct b
The b structure contains the following members:
Item Description
unsigned:1 app_wpar WPAR application.
unsigned:1 cpu_rset WPAR restricted to processor resource set.
unsigned:1 cpu_xrset WPAR restricted to processor exclusive resource set.
unsigned:1 cpu_limits Processor resource limits enforced.
unsigned:1 mem_limits Memory resource limits enforced.
unsigned:1 spare Reserved for future usage.
The perfstat_disk_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Name of the disk.
char description[IDENTIFIER_LENGTH] Disk description (from ODM).
char vgname[IDENTIFIER_LENGTH] Volume group name (from ODM).
u_longlong_t size Size of the disk (in MB).
u_longlong_t free Free portion of the disk (in MB).
u_longlong_t bsize Disk block size (in bytes).
u_longlong_t __rxfers Number of transfers from disk.
u_longlong_t xfers Number of transfers to/from disk.
u_longlong_t wblks Number of blocks written to disk.
u_longlong_t rblks Number of blocks read from disk.
u_longlong_t time Amount of time (in clock ticks) disk is active.
char adapter[IDENTIFIER_LENGTH] Disk adapter name.
uint paths_count Number of paths defined to the disk.
u_longlong_t qdepth Instantaneous "service" queue depth (number of requests sent to disk and not completed yet).
u_longlong_t q_full "Service" queue full occurrence count (number of times the disk is not accepting any more request).
u_longlong_t q_sampled Accumulated sampled "service" queue depth.
u_longlong_t rserv Read service time.
u_longlong_t rtimeout Number of read request timeout.
u_longlong_t rfailed Number of failed read requests.
u_longlong_t min_rserv Minimum read service time.
u_longlong_t max_rserv Maximum read service time.
u_longlong_t wserv Write service time.
u_longlong_t wtimeout Number of write request timeout.
su_longlong_t wfailed Number of failed write requests.
u_longlong_t min_wserv Minimum write service time.
u_longlong_t max_wserv Maximum write service time.
u_longlong_t wq_depth Instantaneous wait queue depth (number of requests waiting to be sent to disk).
u_longlong_t wq_sampled Accumulated sampled wq_depth.
u_longlong_t wq_time Accumulated wait queuing time.
u_longlong_t wq_min_time Minimum wait queuing time.
u_longlong_t wq_max_time Maximum wait queuing time.
cid_t wpar_id WPAR identifier.

The size, free, vgname, adapter, and description members of the perfstat_disk_t structure are stored in the information cache. They can be flushed by making one of the following calls:

  • perfstat_reset()
  • perfstat_partial_reset(NULL, FLUSH_DISK)
  • perfstat_partial_reset("disk name", FLUSH_DISK)
  • perfstat_partial_reset(NULL, FLUSH_DISKADAPTER)
  • perfstat_partial_reset("adapter name of this disk", FLUSH_DISKADAPTER)
The perfstat_disk_total_t structure contains the following members:
Item Description
int number Total number of disks.
u_longlong_t size Total size of all disks (in MB).
u_longlong_t free Free portion of all disks (in MB).
u_longlong_t __rxfers Total number of transfers from disk.
u_longlong_t xfers Total number of transfers to/from disk.
u_longlong_t wblks 512 bytes blocks written to all disks.
u_longlong_t rblks 512 bytes blocks read from all disks.
u_longlong_t time Amount of time (in clock ticks) disks are active.
cid_t wpar_id WPAR identifier.
u_longlong_t rserv; Average read or receive service time.
u_longlong_t min_rserv Min read or receive service time.
u_longlong_t max_rserv Max read or receive service time.
u_longlong_t rtimeout Number of read request timeouts.
u_longlong_t rfailed Number of failed read requests.
u_longlong_t wserv Average write or send service time.
u_longlong_t min_wserv Min write or send service time.
u_longlong_t max_wserv Max write or send service time.
u_longlong_t wtimeout Number of write request timeouts.
u_longlong_t wfailed Number of failed write requests.
u_longlong_t wq_depth Instantaneous wait queue depth (number of requests waiting to be sent to disk).
u_longlong_t wq_time Accumulated wait queueing time.
u_longlong_t wq_min_time Min wait queueing time.
u_longlong_t wq_max_time Max wait queueing time.

The size and free members of the perfstat_disk_total_t structure are stored in the information cache. They can be flushed by making one of the following calls:

  • perfstat_reset()
  • perfstat_partial_reset(NULL, FLUSH_DISK)
  • perfstat_partial_reset("disk name", FLUSH_DISK)
  • perfstat_partial_reset(NULL, FLUSH_DISKADAPTER)
  • perfstat_partial_reset("adapter name of this disk", FLUSH_DISKADAPTER)
The perfstat_diskadapter_t structure contains the following members:
Item Description
adapter_type
0
SCSI, SAS, other legacy adapter types
1
Virtual SCSI/SAS Adapter
2
Fiber Channel Adapter
char name[IDENTIFIER_LENGTH] Name of the adapter (from ODM).
char description[IDENTIFIER_LENGTH] Adapter description (from ODM).
int number Number of disks connected to adapter.
u_longlong_t size Total size of all disks (in MB).
u_longlong_t free Free portion of all disks (in MB).
u_longlong_t __rxfers Total number of reads via adapter.
u_longlong_t xfers Total number of transfers to/from disk.
u_longlong_t wblks 512 bytes blocks written via adapter.
u_longlong_t rblks 512 bytes blocks read via adapter.
u_longlong_t time Amount of time (in clock ticks) disks are active.

The list of the disk adapters and the size, free, and description members of the perfstat_diskadapter_t structure are stored in the information cache. They can be flushed by making one of the following calls:

  • perfstat_reset()
  • perfstat_partial_reset(NULL, FLUSH_DISKADAPTER)
  • perfstat_partial_reset("diskadapter name", FLUSH_DISKADAPTER)
  • perfstat_partial_reset(NULL, FLUSH_DISK)
  • perfstat_partial_reset("disk linked to this adapter", FLUSH_DISK)
The perfstat_diskpath_t structure contains the following members:
Item Description
char name [IDENTIFIER_LENGTH] Name of the path.
u_longlong_t __rxfers Number of reads completed through the path.
u_longlong_t xfers Total number of transfers through the path.
u_longlong_t wblks 512 bytes blocks written through the path.
u_longlong_t rblks 512 bytes blocks read through the path.
u_longlong_t time Amount of time (in clock ticks) path is active.
char adapter [IDENTIFIER_LENGTH] Name of the adapter.
u_longlong_t q_full "Service" queue full occurrence count (number of times the disk is not accepting any more request).
u_longlong_t q_sampled Accumulated sampled "service" queue depth.
u_longlong_t rserv Read service time.
u_longlong_t rtimeout Number of read request timeout.
u_longlong_t rfailed Number of failed read requests.
u_longlong_t min_rserv Minimum read service time.
u_longlong_t max_rserv Maximum read service time.
u_longlong_t wserv Write service time.
u_longlong_t wtimeout Number of write request timeout.
u_longlong_t wfailed Number of failed write requests.
u_longlong_t min_wserv Minimum write service time.
u_longlong_t max_wserv Maximum write service time.
u_longlong_t wq_depth Instantaneous wait queue depth (number of requests waiting to be sent to disk).
u_longlong_t wq_sampled Accumulated sampled wq_depth.
u_longlong_t wq_time Accumulated wait queuing time.
u_longlong_t wq_min_time Minimum wait queuing time.
u_longlong_t wq_max_time Maximum wait queuing time.

The adapter member of the perfstat_diskpath_t structure is stored in the information cache. It can be flushed by making one of the following calls:

  • perfstat_reset()
  • perfstat_partial_reset(NULL, FLUSH_DISKPATH)
  • perfstat_partial_reset("diskpath name", FLUSH_DISKPATH)
  • perfstat_partial_reset(NULL, FLUSH_DISKADAPTER)
  • perfstat_partial_reset("diskadapter name of this diskpath", FLUSH_DISKADAPTER)
  • perfstat_partial_reset(NULL, FLUSH_DISK)
  • perfstat_partial_reset("disk pointed by this path", FLUSH_DISK)
The perfstat_memory_total_t structure contains the following members:
Item Description
u_longlong_t virt_total Total virtual memory (in 4 KB pages).
u_longlong_t real_total Total real memory (in 4 KB pages).
u_longlong_t real_free Free real memory (in 4 KB pages).
u_longlong_t real_pinned Real memory which is pinned (in 4 KB pages).
u_longlong_t real_inuse Real memory which is in use (in 4 KB pages).
u_longlong_t pgbad Number of bad pages.
u_longlong_t pgexct Number of page faults.
u_longlong_t pgins Number of pages paged in.
u_longlong_t pgouts Number of pages paged out.
u_longlong_t pgspins Number of page ins from paging space.
u_longlong_t pgspouts Number of page outs from paging space.
u_longlong_t scans Number of page scans by clock.
u_longlong_t cycles Number of page replacement cycles.
u_longlong_t pgsteals Number of page steals.
u_longlong_t numperm Number of frames used for files (in 4 KB pages).
u_longlong_t pgsp_total Total paging space (in 4 KB pages).
u_longlong_t pgsp_free Free paging space (in 4 KB pages).
u_longlong_t pgsp_rsvd Reserved paging space (in 4 KB pages).
u_longlong_t real_system Real memory used by system segments (in 4 KB pages). This value is the sum of all the used pages in segment marked for system usage. Because segment classifications are not always guaranteed to be accurate, this number is only an approximation.
u_longlong_t real_user Real memory used by non-system segments (in 4 KB pages). This is the sum of all pages used in segments not marked for system usage. Because segment classifications are not always guaranteed to be accurate, this number is only an approximation.
u_longlong_t real_process Real memory used by process segments (in 4 KB pages). This is real_total-real_free-numperm-real_system. Because real_system is an approximation, this number is as well.
u_longlong_t virt_active Active virtual pages (avm column in vmstat output). Virtual pages are considered active if they have been accessed.
u_longlong_t iome I/O memory entitlement of the partition in bytes.
u_longlong_t iomu I/O memory entitlement of the partition in use in bytes.
u_longlong_t iohwm High water mark of I/O memory entitlement used in bytes.
u_longlong_t pmem Amount of physical memory currently backing partition's logical memory in bytes.
u_longlong_t comprsd_total Total numbers of pages in compressed pool (in 4 KB pages).
u_longlong_t comprsd_wseg_pgs Number of compressed working storage pages.
u_longlong_t cpgins Number of page ins to compressed pool.
u_longlong_t cpgouts Number of page outs from compressed pool.
u_longlong_t true_size True memory size in 4 KB pages.
u_longlong_t expanded_memory Expanded memory size in 4 KB pages.
u_longlong_t comprsd_wseg_size Total size of the compressed working storage pages in the pool.
u_longlong_t target_cpool_size Target compressed pool size in bytes.
u_longlong_t max_cpool_size Maximum size of compressed pool in bytes.
u_longlong_t min_ucpool_size Minimum size of uncompressed pool in bytes.
u_longlong_t cpool_size Compressed pool size in bytes.
u_longlong_t ucpool_size Uncompressed pool size in bytes.
u_longlong_t cpool_inuse Compressed pool used in bytes.
u_longlong_t ucpool_inuse Uncompressed pool used in bytes.
The perfstat_memory_total_wpar_t structure contains the following members:
Item Description
u_longlong_t real_total Global total real memory (in 4 KB pages).
u_longlong_t real_free Global free real memory (in 4 KB pages).
u_longlong_t real_pinned Real memory that is pinned (in 4 KB pages).
u_longlong_t real_inuse Real memory that is in use (in 4 KB pages).
u_longlong_t pgexct Number of page faults.
u_longlong_t pgins Number of pages paged in.
u_longlong_t pgouts Number of pages paged out.
u_longlong_t pgspins Number of page-ins from paging space.
u_longlong_t pgspouts Number of page-outs from paging space.
u_longlong_t scans Number of page-scans by clock.
u_longlong_t pgsteals Number of page-steals.
u_longlong_t numperm Number of frames used for files (in 4 KB pages).
u_longlong_t virt_active Active virtual pages. Virtual pages are considered active if they have been accessed.
u_longlong_t comprsd_total Total numbers of pages in compressed pool (in 4 KB pages).
u_longlong_t comprsd_wseg_pgs Number of compressed working storage pages.
u_longlong_t cpgins Number of page ins to compressed pool.
u_longlong_t cpgouts Number of page outs from compressed pool.
u_longlong_t comprsd_wseg_size Total size of the compressed working storage pages in the pool.
u_longlong_t ucpool_size Uncompressed pool size in bytes.
The perfstat_tape_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Name of the tape.
char description[IDENTIFIER_LENGTH] Tape description (from ODM).
u_longlong_t size Size of the tape (in MB).
u_longlong_t free Free portion of the tape (in MB).
u_longlong_t bsize Tape block size (in bytes).
u_longlong_t xfers Number of transfers to/from tape.
u_longlong_t rxfers Number of read transfers to/from tape.
u_longlong_t wblks Number of blocks written to tape.
u_longlong_t rblks Number of blocks read from tape.
u_longlong_t time Amount of time tape is active.
char adapter[IDENTIFIER_LENGTH] Tape adapter name.
uint paths_count Number of paths to this tape.
u_longlong_t rserv Read or receive service time.
u_longlong_t rtimeout Number of read request timeout.
u_longlong_t rfailed Number of failed read requests.
u_longlong_t min_rserv Minimum read or receive service time.
u_longlong_t max_rserv Maximum read or receive service time.
u_longlong_t wserv Write or send service time.
u_longlong_t wtimeout Number of write request timeout.
u_longlong_t wfailed Number of failed write requests.
u_longlong_t min_wserv Minimum write or send service time.
u_longlong_t max_wserv Maximum write or send service time.
The perfstat_tape_total_t structure contains the following members:
Item Description
int number Total number of tapes.
u_longlong_t size Total size of all tapes (in MB).
u_longlong_t free Free portion of all tapes (in MB).
u_longlong_t rxfers Number of read transfers to/from tape.
u_longlong_t xfers Total number of transfers to/from tape.
u_longlong_t wblks 512 bytes blocks written to all tapes.
u_longlong_t rblks 512 bytes blocks read from all tapes.
u_longlong_t time Total time the tapes are active.
The perfstat_memory_page_t structure contains the following members:
psize_t psize page size in bytes
u_longlong_t real_total Number of real memory frames of this page size.
u_longlong_t real_free Number of pages on free list.
u_longlong_t real_pinned Number of pages pinned.
u_longlong_t real_inuse Number of pages in use.
u_longlong_t pgexct Number of page faults.
u_longlong_t pgins Number of pages paged in.
u_longlong_t pouts Number of pages paged out.
u_longlong_t pgspins Number of page ins from paging space.
u_longlong_t pgspouts Number of page outs from paging space.
u_longlong_t scans Number of page scans by clock.
u_longlong_t cycles Number of page replacement cycles.
u_longlong_t pgsteals Number of page steals.
u_longlong_t numperm Number of frames used for files.
u_longlong_t numpgsp Number of pages with allocated paging space.
u_longlong_t real_system Number of pages used by system segments. This is the sum of all the used pages in segment marked for system usage. Because segment classifications are not always guaranteed to be accurate, This number is only an approximation.
u_longlong_t real_user Number of pages used by non-system segments. This is the sum of all pages used in segments not marked for system usage. Because segment classifications are not always guaranteed to be accurate, This number is only an approximation.
u_longlong_t real_process Number of pages used by process segments. This is real_total - real_free - numperm - real_system. Because real_system is an approximation, this number is too.
u_longlong_t virt_active Active virtual pages. Virtual pages are considered active if they have been accessed.
u_longlong_t comprsd_total Number of pages of this size compressed.
u_longlong_t comprsd_wseg_pgs Number of compressed working storage pages.
u_longlong_t cpgins Number of page ins of this page size to compressed pool.
u_longlong_t cpgouts Number of page outs of this page size from compressed pool.
u_longlong_t cpool_inuse Compressed size (in MB) of this page size in compressed pool.
u_longlong_t ucpool_size Uncompressed pool size in MB of this page size.
u_longlong_t comprsd_wseg_size Total size of the compressed working storage pages in the pool.
The perfstat_memory_page_wpar_t structure contains the following members:
psize_t psize page size in bytes
u_longlong_t real_total Number of real memory frames of this page size.
u_longlong_t real_pinned Number of pages pinned.
u_longlong_t real_inuse Number of pages in use.
u_longlong_t pgexct Number of page faults.
u_longlong_t pgins Number of pages paged in.
u_longlong_t pouts Number of pages paged out.
u_longlong_t pgspins Number of page ins from paging space.
u_longlong_t pgspouts Number of page outs from paging space.
u_longlong_t scans Number of page scans by clock.
u_longlong_t pgsteals Number of page steals.
u_longlong_t comprsd_total Number of pages of this size compressed.
u_longlong_t comprsd_wseg_pgs Number of compressed working storage pages.
u_longlong_t cpgins Number of page ins of this page size to compressed pool.
u_longlong_t cpgouts Number of page outs of this page size from compressed pool.
u_longlong_t cpool_inuse Compressed size (in MB) of this page size in compressed pool.
u_longlong_t ucpool_size Uncompressed pool size in MB of this page size.
u_longlong_t comprsd_wseg_size Total size of the compressed working storage pages in the pool.
The perfstat_process_t structure contains the following members:
Item Description
u_longlong_t version Version number of the data structure.
u_longlong_t pid Process ID.
char proc_name[64] Name of the process.
int proc_priority Process priority.
u_longlong_t num_threads Thread count.
u_longlong_t proc_uid Owner information.
u_longlong_t proc_classid WLM class name.
u_longlong_t proc_size Virtual size of the process (exclusive usage, leaving all shared library text & shared file pages, shared memory, and memory mapped).
u_longlong_t proc_real_mem_data Real memory used for data in KB.
u_longlong_t proc_real_mem_text Real memory used for text in KB.
u_longlong_t proc_virt_mem_data Virtual memory used for data in KB.
u_longlong_t proc_virt_mem_text Virtual memory used for text in KB.
u_longlong_t shared_lib_data_size Data size from shared library in KB.
u_longlong_t heap_size Heap size in KB.
u_longlong_t real_inuse The Real memory (in KB) in use by the process including all kind of segments (excluding system segments). This includes text, data, shared library text, shared library data, file pages, shared memory, and memory mapped.
u_longlong_t virt_inuse The virtual memory (in KB) in use by the process including all kind of segments (excluding system segments). This includes text, data, shared library text, shared library data, file pages, shared memory, and memory mapped.
u_longlong_t pinned Pinned memory (in KB) for this process inclusive of all segments.
u_longlong_t pgsp_inuse Paging space used (in KB) inclusive of all segments.
u_longlong_t filepages File pages used (in KB) including shared pages.
u_longlong_t real_inuse_map Real memory used (in KB) for shared memory and memory mapped regions
u_longlong_t virt_inuse_map Virtual memory used (in KB) for shared memory and memory mapped regions.
u_longlong_t pinned_inuse_map Pinned memory used (in KB) for shared memory and memory mapped regions.
double ucpu_time User mode CPU time is in percentage or milliseconds, which is based on, whether it is filled by perfstat_process_util or perfstat_process respectively.
double scpu_time System mode CPU time is in percentage or milliseconds, which is based on whether it is filled by perfstat_process_util or perfstat_process respectively.
u_longlong_t last_timebase Timebase counter.
u_longlong_t inBytes Bytes written to disk.
u_longlong_t outBytes Bytes read from disk.
u_longlong_t inOps In operations from disk.
u_longlong_t outOps Out operations from disk
The perfstat_netinterface_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Name of the interface.
char description[IDENTIFIER_LENGTH] Interface description (from ODM, similar to lscfg output).
uchar type Ethernet, token ring, and so on. Interpretation can be done using the /usr/include/net/if_types.h file.
u_longlong_t mtu Network frame size.
u_longlong_t ipacets Number of packets received on interface.
u_longlong_t ibytes Number of bytes received on interface.
u_longlong_t ierrors Number of input errors on interface.
u_longlong_t opackets Number of packets sent on interface.
u_longlong_t obytes Number of bytes sent on interface.
u_longlong_t oerrors Number of output errors on interface.
u_longlong_t collisions Number of collisions on csma interface.
u_longlong_t bitrate Adapter rating in bit per second.
u_longlong_t if_iqdrops Dropped on input, this interface.
u_longlong_t if_arpdrops Dropped because no arp response.
The perfstat_logicalvolume_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Logical volume name.
char vgname[IDENTIFIER_LENGTH] Volume group name.
u_longlong_t open_close LVM_QLVOPEN, and so on. For more information, see the lvm.h file.
u_longlong_t state LVM_UNDEF, and so on. For more information, see the lvm.h file.
u_longlong_t mirror_policy LVM_PARALLEL, and so on. For more information, see the lvm.h file.
u_longlong_t mirror_write_consistency LVM_CONSIST, and so on. For more information, see the lvm.h file.
u_longlong_t write_verify LVM_VERIFY, and so on. For more information, see the lvm.h file.
u_longlong_t ppsize Physical partition size in MB.
u_longlong_t logical_partitions Total number of logical partitions configured for this logical volume.
ushort mirrors Number of physical mirrors for each logical partition.
u_longlong_t iocnt Number of read and write requests.
u_longlong_t kbreads Number of kilobytes read.
u_longlong_t kbwrites Number of kilobytes written.
u_longlong_t if_iqdrops Dropped on input, this interface.
u_longlong_t if_arpdrops Dropped because no arp response.
The logical volume statistics collection must be enabled by using the following call:
perfstat_config(PERFSTAT_ENABLE | PERFSTAT_LV, NULL)
The logical volume statistics collection must be disabled after collecting the data by using the following call:
perfstat_config(PERFSTAT_DISABLE | PERFSTAT_LV, NULL)
The perfstat_volumegroup_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Volume group name.
u_longlong_t total_disks Number of physical volumes in the volume group.
u_longlong_t active_disks Number of active physical volumes in the volume group.
u_longlong_t total_logical_volumes Number of logical volumes in the volume group.
u_longlong_t opened_logical_volumes Number of logical volumes opened in the volume group.
u_longlong_t iocnt Number of read and write requests.
u_longlong_t kbreads Number of kilobytes read.
u_longlong_t kbwrites Number of kilobytes written.
unsigned variedState Volume Group is Available or not
  • 0 = Available which implies varied ON
  • 1 = Not Available which implies varied OFF
The volume group statistics collection must be enabled by using the following call:
perfstat_config(PERFSTAT_ENABLE | PERFSTAT_LV, NULL)
The volume groups statistics collection must be disabled after collecting the data by using the following call:
perfstat_config(PERFSTAT_DISABLE | PERFSTAT_LV, NULL)

The description member of the perfstat_netinterface_t structure is stored in the information cache. It can be flushed by making one of the following calls:

  • perfstat_reset()
  • perfstat_partial_reset(NULL, FLUSH_NETINTERFACE)
  • perfstat_partial_reset("netinterface name", FLUSH_NETINTERFACE)
The perfstat_netinterface_total_t structure contains the following members:
Item Description
int number Number of network interfaces.
u_longlong_t ipackets Number of packets received on interface.
u_longlong_t ibytes Number of bytes received on interface.
u_longlong_t ierrors Number of input errors on interface.
u_longlong_t opackets Number of packets sent on interface.
u_longlong_t obytes Number of bytes sent on interface.
u_longlong_t oerrors Number of output errors on interface.
u_longlong_t collisions Number of collisions on csma interface.
The perfstat_pagingspace_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Paging space name.
char type Type of paging device.
The possible values of the members are as follows:
Item Description
LV_PAGING Logical volume.
NFS_PAGING NFS file.
The nfs_paging union has the following fields:
Item Description
char nfs_paging.hostname[IDENTIFIER_LENGTH] Host name of paging server.
char nfs_paging.filename[IDENTIFIER_LENGTH] Swap file name on server.
The lv_paging union has the following fields:
Item Description
char lv_paging.vgname[IDENTIFIER_LENGTH] Volume group name.
longlong_t lp_size Size in number of logical partitions.
longlong_t mb_size Size in megabytes.
longlong_t mb_used Portion used in megabytes.
longlong_t io_pending Number of pending I/O.
char active Indicates if active (1 if yes, 0 if not).
char automatic Indicates if automatic (1 if yes, 0 if not).

The list of the paging spaces and the automatic, type, lpsize, mbsize, host name, file name, and vgname members of the perfstat_pagingspace_t structure are stored in the information cache. They can be flushed by making one of the following calls:

  • perfstat_reset()
  • perfstat_partial_reset(NULL, FLUSH_PAGINGSPACE)
  • perfstat_partial_reset("paging space name", FLUSH_PAGINGSPACE)
The perfstat_netbuffer_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Size in ASCII. It is always a power of 2. For example, 32, 64, and 128.
u_longlong_t inuse Number of buffer currently allocated.
u_longlong_t calls Number of buffer allocations since last reset.
u_longlong_t delayed Number of delayed allocations.
u_longlong_t free Number of free calls.
u_longlong_t failed Number of failed allocations.
u_longlong_t highwatermark High threshold for number of buffer allocated.
u_longlong_t freed Number of buffers freed.
The perfstat_protool_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] ip, ipv6, icmp, icmpv6, udp, tcp, rpc, nfs, nfsv2, nfsv8

The ip union contains the following fields:

Item Description
u_longlong_t ip.ipackets Number of input packets.
u_longlong_t ip.ierrors Number of input errors.
u_longlong_t ip.iqueueoverflow Number of input queue overflows.
u_longlong_t ip.opackets Number of output packets.
u_longlong_t ip.oerrors Number of output errors.

The ipv6 union contains the following fields:

Item Description
u_longlong_t ipv6.ipackets Number of input packets.
u_longlong_t ipv6.ierrors Number of input errors.
u_longlong_t ipv6.iqueueoverflow Number of input queue overflows.
u_longlong_t ipv6.opackets Number of output packets.
u_longlong_t ipv6.oerrors Number of output errors.

The icmp union contains the following fields:

Item Description
u_longlong_t icmp.received Number of packets received.
u_longlong_t icmp.sent Number of packets sent.
u_longlong_t icmp.errors Number of errors.

The icmpv6 union contains the following fields:

Item Description
u_longlong_t icmpv6.received Number of packets received.
u_longlong_t icmpv6.sent Number of packets sent.
u_longlong_t icmpv6.errors Number of errors.

The udp union contains the following fields:

Item Description
u_longlong_t udp.ipackets Number of input packets.
u_longlong_t udp.ierrors Number of input errors.
u_longlong_t udp.opackets Number of output packets.
u_longlong_t udp.no_socket Number of packets dropped due to no socket.

The tcp union contains the following fields:

Item Description
u_longlong_t tcp.ipackets Number of input packets.
u_longlong_t tcp.ierrors Number of input errors.
u_longlong_t tcp.opackets Number of output packets.
u_longlong_t tcp.initiated Number of connections initiated.
u_longlong_t tcp.accepted Number of connections accepted.
u_longlong_t tcp.established Number of connections established.
u_longlong_t tcp.dropped Number of connections dropped.

The rpc union contains the following fields:

Item Description
u_longlong_t rpc.client.stream.calls Total NFS client RPC connection-oriented calls.
u_longlong_t rpc.client.stream.badcalls Rejected NFS client RPC calls.
u_longlong_t rpc.client.stream.badxids Bad NFS client RPC call responses.
u_longlong_t rpc.client.stream.timeouts Timed out NFS client RPC calls with no reply.
u_longlong_t rpc.client.stream.newcreds Total NFS client RPC authentication refreshes.
u_longlong_t rpc.client.stream.badverfs Total NFS client RPC bad verifier in response.
u_longlong_t rpc.client.stream.timers NFS client RPC timeout greater than timeout value.
u_longlong_t rpc.client.stream.nomem NFS client RPC calls memory allocation failure.
u_longlong_t rpc.client.stream.cantconn Failed NFS client RPC calls.
u_longlong_t rpc.client.stream.interrupts NFS client RPC calls fail due to interrupt.
u_longlong_t rpc.client.dgram.calls Total NFS client RPC connectionless calls.
u_longlong_t rpc.client.dgram.badcalls Rejected NFS client RPC calls.
u_longlong_t rpc.client.dgram.retrans Retransmitted NFS client RPC calls.
u_longlong_t rpc.client.dgram.badxids Bad NFS client RPC call responses.
u_longlong_t rpc.client.dgram.timeouts Timed out NFS client RPC calls with no reply.
u_longlong_t rpc.client.dgram.newcreds Total NFS client RPC authentication refreshes.
u_longlong_t rpc.client.dgram.badverfs Total NFS client RPC bad verifier in response.
u_longlong_t rpc.client.dgram.timers NFS client RPC timeout greater than timeout value.
u_longlong_t rpc.client.dgram.nomem NFS client RPC calls memory allocation failure.
u_longlong_t rpc.client.dgram.cantsend NFS client RPC calls not sent.
u_longlong_t rpc.server.stream.calls Total NFS server RPC connection-oriented requests.
u_longlong_t rpc.server.stream.badcalls Rejected NFS server RPC requests.
u_longlong_t rpc.server.stream.nullrecv NFS server RPC calls failed due to unavailable packet.
u_longlong_t rpc.server.stream.badlen NFS server RPC requests failed due to bad length.
u_longlong_t rpc.server.stream.xdrcall NFS server RPC requests failed due to bad header.
u_longlong_t rpc.server.stream.dupchecks NFS server RPC calls found in request cache.
u_longlong_t rpc.server.stream.dupreqs Total NFS server RPC call duplicates.
u_longlong_t rpc.server.dgram.calls Total NFS server RPC connectionless requests.
u_longlong_t rpc.server.dgram.badcalls Rejected NFS server RPC requests.
u_longlong_t rpc.server.dgram.nullrecv NFS server RPC calls failed due to unavailable packet.
u_longlong_t rpc.server.dgram.badlen NFS server RPC requests failed due to bad length.
u_longlong_t rpc.server.dgram.xdrcall NFS server RPC requests failed due to bad header.
u_longlong_t rpc.server.dgram.dupchecks NFS server RPC calls found in request cache.
u_longlong_t rpc.server.dgram.dupreqs Total NFS server RPC call duplicates.

The nfs union contains the following fields:

Item Description
u_longlong_t nfs.client.calls Total NFS client requests.
u_longlong_t nfs.client.badcalls Total NFS client failed calls.
u_longlong_t nfs.client.clgets Total number of client NFS clgets.
u_longlong_t nfs.client.cltoomany Total number of client NFS cltoomany.
u_longlong_t nfs.server.calls Total NFS server requests.
u_longlong_t nfs.server.badcalls Total NFS server failed calls.
u_longlong_t nfs.server.public_v2 Total number of NFS version 2 server calls.
u_longlong_t nfs.server.public_v3 Total number of NFS version 3 server calls.

The nfsv2 union contains the following fields:

Item Description
u_longlong_t nfsv2.client.calls NFS V2 client requests.
u_longlong_t nfsv2.client.null NFS V2 client null requests.
u_longlong_t nfsv2.client.getattr NFS V2 client getattr requests.
u_longlong_t nfsv2.client.setattr NFS V2 client setattr requests.
u_longlong_t nfsv2.client.root NFS V2 client root requests.
u_longlong_t nfsv2.client.lookup NFS V2 client file name lookup requests.
u_longlong_t nfsv2.client.readlink NFS V2 client readlink requests.
u_longlong_t nfsv2.client.read NFS V2 client read requests.
u_longlong_t nfsv2.client.writecache NFS V2 client write cache requests.
u_longlong_t nfsv2.client.write NFS V2 client write requests.
u_longlong_t nfsv2.client.create NFS V2 client file creation requests.
u_longlong_t nfsv2.client.remove NFS V2 client file removal requests.
u_longlong_t nfsv2.client.rename NFS V2 client file rename requests.
u_longlong_t nfsv2.client.link NFS V2 client link creation requests.
u_longlong_t nfsv2.client.symlink NFS V2 client symbolic link creation requests.
u_longlong_t nfsv2.client.mkdir NFS V2 client directory creation requests.
u_longlong_t nfsv2.client.rmdir NFS V2 client directory removal requests.
u_longlong_t nfsv2.client.readdir NFS V2 client read-directory requests.
u_longlong_t nfsv2.client.statfs NFS V2 client file stat requests.
u_longlong_t nfsv2.server.calls NFS V2 server requests.
u_longlong_t nfsv2.server.null NFS V2 server null requests.
u_longlong_t nfsv2.server.getattr NFS V2 server getattr requests.
u_longlong_t nfsv2.server.setattr NFS V2 server setattr requests.
u_longlong_t nfsv2.server.root NFS V2 server root requests.
u_longlong_t nfsv2.server.lookup NFS V2 server file name lookup requests.
u_longlong_t nfsv2.server.readlink NFS V2 server readlink requests.
u_longlong_t nfsv2.server.read NFS V2 server read requests.
u_longlong_t nfsv2.server.writecache NFS V2 server cache requests.
u_longlong_t nfsv2.server.write NFS V2 server write requests.
u_longlong_t nfsv2.server.create NFS V2 server file creation requests.
u_longlong_t nfsv2.server.remove NFS V2 server file removal requests.
u_longlong_t nfsv2.server.rename NFS V2 server file rename requests.
u_longlong_t nfsv2.server.link NFS V2 server link creation requests.
u_longlong_t nfsv2.server.symlink NFS V2 server symbolic link creation requests.
u_longlong_t nfsv2.server.mkdir NFS V2 server directory creation requests.
u_longlong_t nfsv2.server.rmdir NFS V2 server directory removal requests.
u_longlong_t nfsv2.server.readdir NFS V2 server read-directory requests.
u_longlong_t nfsv2.server.statfs NFS V2 server file stat requests.

The nfsv3 union contains the following fields:

Item Description
u_longlong_t nfsv3.client.calls NFS V3 client calls.
u_longlong_t nfsv3.client.null NFS V3 client null requests.
u_longlong_t nfsv3.client.getattr NFS V3 client getattr requests.
u_longlong_t nfsv3.client.setattr NFS V3 client setattr requests.
u_longlong_t nfsv3.client.lookup NFS V3 client file name lookup requests.
u_longlong_t nfsv3.client.access NFS V3 client access requests.
u_longlong_t nfsv3.client.readlink NFS V3 client readlink requests.
u_longlong_t nfsv3.client.read NFS V3 client read requests.
u_longlong_t nfsv3.client.write NFS V3 client write requests.
u_longlong_t nfsv3.client.create NFS V3 client file creation requests.
u_longlong_t nfsv3.client.mkdir NFS V3 client directory creation requests.
u_longlong_t nfsv3.client.symlink NFS V3 client symbolic link creation requests.
u_longlong_t nfsv3.client.mknod NFS V3 client mknod creation requests.
u_longlong_t nfsv3.client.remove NFS V3 client file removal requests.
u_longlong_t nfsv3.client.rmdir NFS V3 client directory removal requests.
u_longlong_t nfsv3.client.rename NFS V3 client file rename requests.
u_longlong_t nfsv3.client.link NFS V3 client link creation requests.
u_longlong_t nfsv3.client.readdir NFS V3 client read-directory requests.
u_longlong_t nfsv3.client.readdirplus NFS V3 client read-directory plus requests.
u_longlong_t nfsv3.client.fsstat NFS V3 client file stat requests.
u_longlong_t nfsv3.client.fsinfo NFS V3 client file info requests.
u_longlong_t nfsv3.client.pathconf NFS V3 client path configure requests.
u_longlong_t nfsv3.client.commit NFS V3 client commit requests.
u_longlong_t nfsv3.server.calls NFS V3 server requests.
u_longlong_t nfsv3.server.null NFS V3 server null requests.
u_longlong_t nfsv3.server.getattr NFS V3 server getattr requests.
u_longlong_t nfsv3.server.setattr NFS V3 server setattr requests.
u_longlong_t nfsv3.server.lookup NFS V3 server file name lookup requests.
u_longlong_t nfsv3.server.access NFS V3 server file access requests.
u_longlong_t nfsv3.server.readlink NFS V3 server readlink requests.
u_longlong_t nfsv3.server.read NFS V3 server read requests.
u_longlong_t nfsv3.server.write NFS V3 server write requests.
u_longlong_t nfsv3.server.create NFS V3 server file creation requests.
u_longlong_t nfsv3.server.mkdir NFS V3 server director6 creation requests.
u_longlong_t nfsv3.server.symlink NFS V3 server symbolic link creation requests.
u_longlong_t nfsv3.server.mknod NFS V3 server mknode creation requests.
u_longlong_t nfsv3.server.remove NFS V3 server file removal requests.
u_longlong_t nfsv3.server.rmdir NFS V3 server directory removal requests.
u_longlong_t nfsv3.server.rename NFS V3 server file rename requests.
u_longlong_t nfsv3.server.link NFS V3 server link creation requests.
u_longlong_t nfsv3.server.readdir NFS V3 server read-directory requests.
u_longlong_t nfsv3.server.readdirplus NFS V3 server read-directory plus requests.
u_longlong_t nfsv3.server.fsstat NFS V3 server file stat requests.
u_longlong_t nfsv3.server.fsinfo NFS V3 server file info requests.
u_longlong_t nfsv3.server.pathconf NFS V3 server path configure requests.
u_longlong_t nfsv3.server.commit NFS V3 server commit requests.
The perfstat_bio_dev_t structure contains the following members:
Item Description
char name[32] Device Name.
dev64_t 64bit device ID.
u_longlong_t rbytes Bytes read
u_longlong_t wbytes Bytes Written
u_longlong_t rerrs Number of read errors
u_longlong_t werrs Number of write errors
u_longlong_t rtime Aggregate time (reads)
u_longlong_t wtime Aggregate time (writes)
u_longlong_t nread Number of reads
u_longlong_t nwrite Number of writes
u_longlong_t dev_status Status of device
1 - Available
0 - Unavailable
0xFFFFFFFF0ERRORNO otherwise
#define GET_DEVERROR(x) ((int)((x<0)?(x & 0x00000000FFFFFFFFLL):0))
The perfstat_cluster_total_t structure contains the following members:
Item Description
char name[MAXHOSTNAMELEN] Name of the cluster.
Perfstat_cluster_type_p type Set of bits describing the cluster.
u_longlong_t num_nodes Number of nodes in the cluster.
perfstat_node_data_t *node_data Contains node details. Can be either NULL or (sizeof_node_data * total number of nodes).
Note: Memory needs to be allocated by the user.
u_longlong_t sizeof_node_data Equals sizeof(perfstat_node_data_t).
Note: The value is entered by the user.
u_longlong_t num_disks Number of disks in the cluster.
perfstat_disk_data_t *disk_data Contains disk details. Can be either NULL or (sizeof_disk_data * total number of disks).
Note: Memory needs to be allocated by the user.
u_longlong_t sizeof_disk_data Equals sizeof(perfstat_disk_data_t).
Note: The value is entered by the user.
The perfstat_cluster_type_t structure contains the following members:
Item Description
unsigned:1 is_local Cluster type is Local.
unsigned:1 is_zone Cluster type is Zone.
unsigned:1 is_link Cluster type is Link.
The perfstat_node_data_t structure contains the following members:
Item Description
char name[MAXHOSTNAMELEN] Name of the node.
u_longlong_t shorthand_id Cluster shorthand ID for the node.
perfstat_node_status_t status State of the node.
u_longlong_t num_clusters Number of clusters node is a member in.
u_longlong_t num_zones Number of zones node is a member in.
u_longlong_t num_points_of_contact Number of interfaces node has communicated on.
perfstat_ip_addr_t net_addr Primary IP address of the node.
The perfstat_node_status_t structure contains the following members:
Item Description
unsigned:1 is_up State of the node is UP.
unsigned:1 is_down State of the node is DOWN.
unsigned:1 is_down_not_posted State of the node is DOWN, BUT NOT POSTED TO CLUSTER.
unsigned:1 is_deleted State of the node is DELETED.
unsigned:1 is_joined State of the node is JOINED.
The perfstat_ip_addr_t structure contains the following members:
Item Description
sa_family_t the_family Address family
union ip IP address.
The perfstat_ip_addr_t.ip structure contains the following members:
Item Description
struct in_addr ip.ip4 IP address Version 4.
struct in_addr ip.ip6 IP address Version 6.
The perfstat_disk_data_t structure contains the following members:
Item Description
char name[IDENTIFIER_LENGTH] Specifies the name of the disk.
dev64_t cluster_dev_t Specifies the dev_t structure of the disk in the cluster.
char uuid[ATTRVALSIZE] Specifies the universally unique identifier (UUID) of the disk.
char udid[ATTRVALSIZE] Specifies the unique disk identifier (UDID) of the disk.
perfstat_disk_status_t status Specifies the status of the disk.
The perfstat_disk_status_t structure contains the following members:
Item Description
unsigned:1 is_found Cluster disk is found.
Unsigned:1 is_ready Cluster disk is ready for use.
The perfstat_processor_pool_util_t structure contains the following members:
Item Description
max_capacity Maximum processor capacity of pool that is in a partition.
entitled_capacity Entitled processor capacity of pool that is in a partition.
phys_cpus_pool Available physical processors in the shared processor pool, to which this partition belongs.
idle_cores Available physical processors in the shared processor pool over the last interval.
max_cores For the last interval, the total maximum number of cores that might be used by the shared processor pool, to which this partition belongs.
busy_cores For the last interval, the total busy (nonidle) cores which are accumulated across all partitions in the shared processor pool to which this partition belongs.
sbusy_cores For the last interval, normalized total busy (nonidle) cores which are accumulated across all partitions in the shared processor pool to which this partition belongs. This is true when the processor cores run at nominal or rated frequency.
gpool_tot_cores For the last interval, total cores, across all physical processors that are allocated for the shared processor pool use (across all pools).
gpool_busy_cores For the last interval, the total of busy (nonidle) cores which are accumulated across all shared processor partitions (across all pools).
gpool_sbusy_cores For last interval, the normalized total busy cores which are accumulated across all shared processor partitions (across all pools). This is true when the processor cores run at nominal or rated frequency.
ssp_id Identifier of shared pool of the physical processors to which this partition belongs.
tb_last_delta Elapsed number of clock ticks.
version Version number for the data structure.

The node/cluster statistics collection must be enabled by using the following call:

perfstat_config(PERFSTAT_ENABLE | PERFSTAT_CLUSTER_STATS, NULL)

The node/cluster statistics collection must be disabled after collecting the data by using the following call:

perfstat_config(PERFSTAT_DISABLE | PERFSTAT_CLUSTER_STATS, NULL)

The perfstat_hfistat_t structure contains the following members:

Item Description
u_longlong_t version The version number (1, 2, and so on).
u_longlong_t hfiid The HFI identifier (0, 1, and so on).
u_longlong_t cycles_blocked_sending The number of cycles blocked from sending.
u_longlong_t flits_sent The flit sent.
u_longlong_t flits_dropped The flit dropped.
u_longlong_t link_retries The link level retries.
u_longlong_t pkts_sent The aggregate count of the packet sent.
u_longlong_t pkts_dropped_sending The aggregate count of the packet dropped from sending.
_longlong_t pkts_received The aggregate count of the packet received.
u_longlong_t pkts_dropped_receiving The aggregate count of the packet dropped from receiving.
u_longlong_t immediate_send_pkt_count The aggregate of the immediate send packet count.
u_longlong_t send_recv_pkt_count The aggregate of the send/receive packet count.
u_longlong_t fullRDMA_sent_count The aggregate of the full-RDMA packet sent count.
u_longlong_t halfRDMA_sent_count The aggregate of the half-RDMA packet sent count.
u_longlong_t smallRDMA_sent_count The aggregate of the small-RDMA packet sent count.
u_longlong_t ip_pkt_sent_count The aggregate of the IP packet sent count.
u_longlong_t cau_pkt_sent_count The aggregate of the CAU packet sent count.
u_longlong_t gups_pkt_sent_count The aggregate of the GUPS packet sent count.
u_longlong_t addr_xlat_wait_count The address of the xlat wait count.
u_longlong_t mmu_cache_hits Number of hits to the Nest Memory management Unit Cache
u_longlong_t mmu_cache_misses Number of hits missed to the Nest Memory management Unit Cache
u_longlong_t mmu_atlb_hits Number of buffer hits to the Nest Memory management Unit Address Translation Look-Ahead.
u_longlong_t mmu_atlb_misses Number of buffer hits missed to the Nest Memory management Unit Address Translation Look-Ahead.
u_longlong_t cycles_waiting_on_a_credit Cycles waiting on credit.
The perfstat_hfistat_window_t structure contains the following members:
Item Description
u_longlong_t version The version number (1, 2, and so on).
u_longlong_t hfiid The HFI identifier (0, 1, and so on).
u_longlong_t windowid The window number (0, 1, 2, and so on).
u_longlong_t pkts_sent The number of packets sent.
u_longlong_t pkts_dropped_sending The number of packets dropped while sending.
u_longlong_t pkt_indicated_send_count The number of indicated packets that were sent.
u_longlong_t immediate_send_pkt_count The number of immediate send packets.
u_longlong_t pkts_received The number of packets received.
u_longlong_t pkts_dropped_receiving The number of packets dropped from receiving.
u_longlong_t pkt_indicated_rcv_count The number of indicated packets that were received.
A perfstat_config() query is provided to verify, if the HFI statistics collection is available.
perfstat_config(PERFSTAT_QUERY|PERFSTAT_HFISTATS, NULL);
The perfstat_netadapter_t structure contains the following members:
Item Description
u_longlong_t version The version number (1, 2, and so on).
char name[IDENTIFIER_LENGTH] Name of the adapter.
u_longlong_t tx_packets Transmit packets on the interface.
u_longlong_t tx_bytes Transmit bytes on the interface.
u_longlong_t tx_interrupts Transfer interrupts.
u_longlong_t tx_errors Transmit errors.
u_longlong_t tx_packets_dropped Packets that are dropped at the time of data transmission.
u_longlong_t tx_queue_size Maximum packets on the software transmit queue.
u_longlong_t tx_queue_len Transmission queue length.
u_longlong_t tx_queue_overflow Transmission queue overflow.
u_longlong_t tx_broadcast_packets Number of broadcast packets transmitted.
u_longlong_t tx_multicast_packets Number of multicast packets transmitted.
u_longlong_t tx_carrier_sense Lost carrier sense signal count.
u_longlong_t tx_lost_CTS_errors The number of unsuccessful transmissions due to the loss of the clear-to-send signal error.
u_longlong_t tx_DMA_underrun Number of DMA underruns for transmission.
u_longlong_t tx_max_collision_errors Maximum collision errors at transmission.
u_longlong_t tx_late_collision_errors Late collision errors at transmission.
u_longlong_t tx_deferred The number of packets that are deferred for transmission.
u_longlong_t tx_timeout_errors Time out errors for transmission.
u_longlong_t tx_single_collision_count Number of single collision errors at transmission.
u_longlong_t tx_multiple_collision_Count Number of multiple collision errors at transmission.
u_longlong_t rx_packets Received packets on interface.
u_longlong_t rx_bytes Received bytes on interface.
u_longlong_t rx_errors Input errors on interface.
u_longlong_t rx_packets_dropped The number of packets that are accepted by the device driver for transmission that were not (for any reason) given to the device.
u_longlong_t rx_bad_packets Number of bad packets received.
u_longlong_t rx_multicast_packets Number of multicast packets received.
u_longlong_t rx_broadcast_packets Number of broadcast packets received.
u_longlong_t rx_CRC_errors; Number of packets received with the CRC errors.
u_longlong_t rx_DMA_overrun; Number of the DMA overruns for the received data.
u_longlong_t rx_alignment_errors Packets received with an alignment error.
u_longlong_t rx_noresource_errors Packets received with no resource errors.
u_longlong_t rx_collision_errors Packets received with collision errors.
u_longlong_t rx_packet_tooshort_errors Number of short packets received.
u_longlong_t rx_packet_toolong_errors Number of packets received that are too long.
u_longlong_t rx_packets_discardedbyadapter Number of received packets that are discarded by the adapter.
The perfstat_fcstat_t structure contains the following members:
Item Description
u_longlong_t version The version number (1, 2, and so on).
char name[IDENTIFIER_LENGTH] Name of the adapter.
u_longlong_t InputRequests Number of input requests.
u_longlong_t OutputRequests Number of output requests.
u_longlong_t InputBytes Number of input bytes.
u_longlong_t OutputBytes Number of output bytes.
u_longlong_t EffMaxTransfer Effective maximum transfer value of the adapter.
u_longlong_t NoDMAResourceCnt Number of the DMA failures caused due to no DMA resource available.
u_longlong_t NoCmdResourceCnt Number of failures to allocate a command due to unavailability of command resource.
int AttentionType Link up or down the indicator.
u_longlong_t SecondsSinceLastReset Displays the seconds since the last reset of the statistics on the adapter.
u_longlong_t TxFrames Number of frames transmitted.
u_longlong_t TxWords Fiber Channel Kbytes transmitted.
u_longlong_t RxFrames Number of frames received.
u_longlong_t RxWords Fiber Channel Kbytes received.
u_longlong_t LIPCount Number of loop initialization protocol (LIP) events received in case we have FC-AL (arbitrated loop which is a FC topology).
u_longlong_t NOSCount Number of Not_Operational (NOS) events. This indicates a link failure state. At a high level, this indicates that the connection to FC network is lost.
u_longlong_t ErrorFrames Number of frames received with the CRC error.
u_longlong_t DumpedFrames Number of lost frames.
u_longlong_t LinkFailureCount Number of link failures.
u_longlong_t LossofSyncCount Number of loss of sync.
_longlong_t LossofSignal Number of signal lost.
u_longlong_t PrimitiveSeqProtocolErrCount Number of times a primitive sequence was in error.
u_longlong_t InvalidTxWordCount Number of invalid transmission words received.
u_longlong_t InvalidCRCCount Number of CRC errors in a received frame.
u_longlong_t PortFcId SCSI ID of the adapter.
u_longlong_t PortSpeed Speed of the adapter in Gb (gigabits).
char PortType[PERFSTAT_SIZE] Type of connection. Valid values are fabric, private loop, point-to-point, and unknown.
u_longlong_t PortWWN Worldwide port name.
u_longlong_t PortSupportedSpeed Supported port speed in Gb (gigabits).
The perfstat_thread_t structure contains the following members:
Item Description
u_longlong_t version Version number of data structure.
u_longlong_t pid Process ID of the kernel thread.
u_longlong_t tid Kernel thread ID.
u_longlong_t cpuid Processor ID to which the thread is bound to.
double ucpu_time User mode CPU time is in percentage or milliseconds based on, whether it is filled by perfstat_thread_util or perfstat_thread subroutine respectively.
double scpu_time System mode CPU time is in percentage or milliseconds based on, whether it is filled by perfstat_thread_util or perfstat_thread subroutine respectively.

The following are declared as functions:

int perfstat_cpu(perfstat_id_t *name,
             perfstat_cpu_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_cpu_node(perfstat_id_node_t *name,
             perfstat_cpu_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_cpu_total(perfstat_id_t *name,
             perfstat_cpu_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_cpu_total_node(perfstat_id_node_t *name,
             perfstat_cpu_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_cpu_total_wpar(perfstat_id_wpar_t *name,
             perfstat_cpu_total_wpar_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_cpu_total_rset(perfstat_id_wpar_t *name,
             perfstat_cpu_total_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_cpu_rset(perfstat_id_wpar_t *name,
             perfstat_cpu_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_partition_total(perfstat_id_t *name,
             perfstat_partition_total_t *userbuff,
             int sizeof_userbuff,
             int devid_number)
int perfstat_partition_total_node(perfstat_id_node_t *name,
             perfstat_partition_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_cluster_total(perfstat_id_node_t *name,
             perfstat_cluster_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_node_list(perfstat_id_node_t *name,
             perfstat_node_t *userbuff,
             int sizeof_userbuff,
             int desired_number);
int perfstat_disk(perfstat_id_t *name,
             perfstat_disk_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_disk_node(perfstat_id_node_t *name,
             perfstat_disk_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_disk_total(perfstat_id_t *name,
             perfstat_disk_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_disk_total_node(perfstat_id_node_t *name,
             perfstat_disk_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_disk_total_wpar(perfstat_id_wpar_t *name,
             perfstat_disk_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_tape(perfstat_id_t *name,
             perfstat_tape_t* userbuff, int sizeof_userbuff,
             int desired_number)
int perfstat_tape_node(perfstat_id_node_t *name,
             perfstat_tape_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_tape_total(perfstat_id_t *name,
             perfstat_tape_total_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_tape_total_node(perfstat_id_node_t *name,
             perfstat_tape_total_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_diskadapter(perfstat_id_t *name,
             perfstat_diskadapter_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_diskadapter_node(perfstat_id_node_t *name,
             perfstat_diskadapter_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_memory_total(perfstat_id_t *name,
             perfstat_memory_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_memory_total_node(perfstat_id_node_t *name,
             perfstat_memory_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_memory_page(perfstat_psize_t *psize,
             perfstat_memory_page_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_memory_page_node(perfstat_id_node_t *name,
             perfstat_psize_t *psize,
             perfstat_memory_page_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_memory_page_wpar(perfstat_id_wpar_t *name,
             perfstat_psize_t *psize,
             perfstat_memory_page_wpar_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_memory_total_wpar(perfstat_id_wpar_t *name,
             perfstat_memory_total_wpar_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_netinterface(perfstat_id_t *name,
             perfstat_netinterface_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_netinterface_node(perfstat_id_node_t *name,
             perfstat_netinterface_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_netinterface_total(perfstat_id_t *name,
             perfstat_netinterface_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_netinterface_total_node(perfstat_id_node_t *name,
             perfstat_netinterface_total_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_pagingspace(perfstat_id_t *name,
             perfstat_pagingspace_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_pagingspace_node(perfstat_id_node_t *name,
             perfstat_pagingspace_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_netbuffer(perfstat_id_t *name,
             perfstat_netbuffer_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_netbuffer_node(perfstat_id_node_t *name,
             perfstat_netbuffer_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_protocol(perfstat_id_t *name,
             perfstat_protocol_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_protocol_node(perfstat_id_node_t *name,
             perfstat_protocol_t *userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_wpar_total(perfstat_id_wpar_t *name,
             perfstat_wpar_total_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_logicalvolume(perfstat_id_t *name,
             perfstat_logicalvolume_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_logicalvolume_node(perfstat_id_node_t *name,
             perfstat_logicalvolume_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_volumegroup(perfstat_id_t *name,
             perfstat_volumegroup_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_volumegroup_node(perfstat_id_node_t *name,
             perfstat_volumegroup_t* userbuff,
             int sizeof_userbuff,
             int desired_number)
int perfstat_partial_reset(char *name,
             u_longlong_t defmask)
int perfstat_config(uint command, void *arg)
int perfstat_bio_stats(perfstat_id_t *name,
             perfstat_bio_dev_t* userbuff,
             int sizeof_userbuff,
             ng_t desired_number);

int perfstat_devname2id(perfstat_id_t *name,
             u_longlong_t *userbuff);
int perfstat_biostat_reset();
void perfstat_reset(void)

int perfstat_partition_config(perfstat_id_t *name,
             perfstat_partition_config_t* userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_cpu_util(perfstat_rawdata_t *cpustats,
             perfstat_cpu_util_t *userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_process(perfstat_id_t *name,
             perfstat_process_t *userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_process_util(perfstat_rawdata_t *data,
             perfstat_process_t *userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_hfistat(perfstat_id_t *name,
             perfstat_hfistat_t *userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_hfistat_window(perfstat_id_window_t *name,
             perfstat_hfistat_window_t *userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_hfistat_window(perfstat_id_window_t *name,
             perfstat_hfistat_window_t *userbuff,
             int sizeof_userbuff,
             int desired_number

int  perfstat_processor_pool_util(perfstat_rawdata_t *data,
             perfstat_processor_pool_util_t *userbuff,
             int sizeoff_userbuff,
             int desired_number);

int perfstat_netadapter(perfstat_id_t *name,
             perfstat_netadapter_t* userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_netadapter_node(perfstat_id_node_t *name,
             perfstat_netadapter_t* userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_fcstat(perfstat_id_t *name 
				    perfstat_fcstat_t* userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_fcstat_node(perfstat_id_node_t *name,
             perfstat_fcstat_t* userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_fcstat_wwpn(perfstat_wwpn_id_t *name,
             perfstat_fcstat_t* userbuff,
             int sizeof_userbuff,
             int desired_number);

int perfstat_thread (perfstat_id_t * name,
             perfstat_thread_t * userbuff,
             int sizeof_userbuff, 
             int desired_number)

int perfstat_thread_util (perfstat_rawdata_t *data, 
             perfstat_thread_t * userbuff,
             int sizeof_userbuff, 
             int desired_number)

int perfstat_cluster_disk(perfstat_id_node_t *name,
             perfstat_disk_data_t* userbuff,
             int sizeof_userbuff, int desired_number);
The perfstat_cpu_util_t structure contains the following members:
Item Description
u_longlong_t version The version number (1, 2, and so on).
char cpu_id[IDENTIFIER_LENGTH] Holds the ID of the processors.
float entitlement Percentage entitlement of the partition.
float user_pct Percentage of utilization in user mode.
float kern_pct Percentage of utilization in kernel mode.
float idle_pct Percentage of utilization in idle mode.
float wait_pct Percentage of utilization in wait mode.
float physical_busy Physical processors busy.
float physical_consumed Total processors used up by the partition
float freq_pct Average frequency percentage over the last interval
float entitlement_pct Percentage of entitlement used.
float busy_pct Percentage of entitlement busy.
float idle_donated_pct Percentage idle cycles donated.
float busy_donated_pct Percentage of busy cycles donated.
float idle_stolen_pct Percentage idle cycles stolen.
float busy_stolen_pct Percentage busy cycles stolen.
float l_user_pct Percentage of utilization in user mode, in terms of logical processor ticks.
float l_kern_pct Percentage of utilization in kernel mode, in terms of logical processor ticks.
float l_idle_pct Percentage of utilization in idle mode, in terms of logical processor ticks.
float l_wait_pct Percentage of utilization in wait mode, in terms of logical processor ticks.
u_longlong_t delta_time Delta time in milliseconds for which the utilization is evaluated.