Per logical CPU statistics
The per logical CPU statistics provides information about each logical CPU. In Vue script, each statistics is specified in the following
format:
__stat.cpu.cpuX->fieldname Where
cpuX represents a CPU instance, for example, cpu0, cpu1 and
fieldname represents the statistics identifier. These fields are similar to the
fields of the perfstat_cpu_total_t structure, which is defined in the
/usr/include/libperfstat.h header file. This header file is part of the AIX
perfstat library.| Vue script field name | Data type | Description |
|---|---|---|
| user | unsigned long long | Raw number of clock ticks that are spent in the user mode. |
| sys | unsigned long long | Raw number of clock ticks that are spent in the system mode. |
| idle | unsigned long long | Raw number of clock ticks that are spent in the idle mode. |
| wait | unsigned long long | Raw number of clock ticks that are spent waiting for the completion of I/O operations. |
| pswitch | unsigned long long | Number of context switches. |
| syscall | unsigned long long | Number of system calls. |
| sysread | unsigned long long | Number of read system calls. |
| syswrite | unsigned long long | Number of write system calls. |
| sysfork | unsigned long long | Number of fork system calls. |
| sysexec | unsigned long long | Number of exec system calls. |
| readch | unsigned long long | Number of characters that are transferred by using read system calls. |
| writech | unsigned long long | Number of characters that are transferred by using write system calls. |
| bread | unsigned long long | Number of blocks that are read. |
| bwrite | unsigned long long | Number of blocks that are written. |
| lread | unsigned long long | Number of logical read requests. |
| lwrite | unsigned long long | Number of logical write requests. |
| phread | unsigned long long | Number of physical read operations, that is, read operations on raw devices. |
| phwrite | unsigned long long | Number of physical write operations, that is, write operations on raw devices. |
| iget | unsigned long long | Number of inode lookup operations. |
| namei | unsigned long long | Number of vnode lookup operations from a path name. |
| dirblk | unsigned long long | Number of 512-byte blocks that are read by the directory search routine to locate an entry for a file. |
| msg | unsigned long long | Number of Inter Process Communication (IPC) message operations. |
| sema | unsigned long long | Number of IPC semaphore operations. |
| minfaults | unsigned long long | Number of page faults with no I/O. |
| majfaults | unsigned long long | Number of page faults with disk I/O. |
| puser | unsigned long long | Raw number of physical processor ticks in the user mode. |
| psys | unsigned long long | Raw number of physical processor ticks in the system mode. |
| pidle | unsigned long long | Raw number of physical processor ticks spent when the processor is idle. |
| pwait | unsigned long long | Raw number of physical processor ticks spent when the processor is waiting for the I/O operations. |
| redisp_sd0 | unsigned long long | Number of thread redispatches within the scheduler affinity domain 0. |
| redisp_sd1 | unsigned long long | Number of thread redispatches within the scheduler affinity domain 1. |
| redisp_sd2 | unsigned long long | Number of thread redispatches within the scheduler affinity domain 2. |
| redisp_sd3 | unsigned long long | Number of thread redispatches within the scheduler affinity domain 3. |
| redisp_sd4 | unsigned long long | Number of thread redispatches within the scheduler affinity domain 4. |
| redisp_sd5 | unsigned long long | Number of thread redispatches within the scheduler affinity domain 5. |
| migration_push | unsigned long long | Number of thread migrations from the local run queue to another queue because of starvation load balancing. |
| migration_S3grq | unsigned long long | Number of thread migrations from the global run queue to the local run queue resulting in a move across scheduling domain 3. |
| migration_S3pul | unsigned long long | Number of thread migrations from another processor's run queue resulting in a move across scheduling domain 3. |
| invol_cswitch | unsigned long long | Number of involuntary thread context switches. |
| vol_cswitch | unsigned long long | Number of voluntary thread context switches. |
| runque | unsigned long long | Number of threads in the run queue. |
| bound | unsigned long long | Number of bound threads. |
| decrintrs | unsigned long long | Number of decrementer interrupts. |
| mpcrintrs | unsigned long long | Number of Multi-Processor Communication (MPC) receive interrupts. |
| mpcsintrs | unsigned long long | Number of MPC send interrupts. |
| devintrs | unsigned long long | Number of device interrupts. |
| softintrs | unsigned long long | Number of off-level handlers that are called. |
| phantintrs | unsigned long long | Number of phantom interrupts. |
| idle_donated_purr | unsigned long long | Number of idle cycles that are donated by a dedicated partition that is enabled for donation. |
| idle_donated_spurr | unsigned long long | Number of idle Scaled Processor Utilization Resource Register (SPURR) cycles that are donated by a dedicated partition that is enabled for donation. |
| busy_donated_purr | unsigned long long | Number of busy cycles that are donated by a dedicated partition that is enabled for donation. |
| busy_donated_spurr | unsigned long long | Number of busy SPURR cycles that are donated by a dedicated partition that is enabled for donation. |
| idle_stolen_purr | unsigned long long | Number of idle cycles that are stolen by the hypervisor from a dedicated partition. |
| idle_stolen_spurr | unsigned long long | Number of idle SPURR cycles that are stolen by the hypervisor from a dedicated partition. |
| busy_stolen_purr | unsigned long long | Number of busy cycles that are stolen by the hypervisor from a dedicated partition. |
| busy_stolen_spurr | unsigned long long | Number of busy SPURR cycles that are stolen by the hypervisor from a dedicated partition. |
| hpi | unsigned long long | Number of hypervisor page-in operations. |
| puser_spurr | unsigned long long | Number of SPURR cycles that are spent in the user mode. |
| psys_spurr | unsigned long long | Number of SPURR cycles that are spent in the kernel mode. |
| pidle_spurr | unsigned long long | Number of SPURR cycles that are spent in the idle mode. |
| pwait_spurr | unsigned long long | Number of SPURR cycles that are spent in the wait mode. |
| spurrflag | int | This field is set if the CPU is running in the SPURR mode. |
| localdispatch | unsigned long long | Number of local thread dispatches on the logical CPU. |
| neardispatch | unsigned long long | Number of near thread dispatches on the logical CPU. |
| fardispatch | unsigned long long | Number of far thread dispatches on the logical CPU. |
| cswitches | unsigned long long | Number of context switches. |
| state | int | Indicates whether the CPU is offline or online. A value of zero for the
state field indicates that the CPU is offline and a non-zero value indicates that
the CPU is online. |
| tb_last | unsigned long long | Last timebase register value read. |
| vtb_last | unsigned long long | Last virtual timebase value read. |
| icount_last | unsigned long long | Last instruction count register value read. |
Note: The following members require unpinned memory access:
pswitch, syscall,
sysread, syswrite, sysfork, sysexec, readch, writech, bread, bwrite, lread, lwrite, phread, phwrite,
iget, namei, dirblk, msg, sema, decrintrs, mpcrintrs, mpcsintrs, devintrs, softintrs,
phantintrs. Because the probes of ProbeVue
scripts run in an environment, where all interrupts are disabled, if the required data is not
available in the resident memory, the members that require unpinned memory access are assigned with
0 values.