Site /
NjmonAIXVIOSStatDetails
njmon AIX and VIOS stat Details
Notes:
- Approximately 800 stats
- Assuming single CPU, single disk, single network and one process and on a VIOS one of each virtual resource.
- For process stats add the -P command line option.
- If you have more (typically 10's disks and 100's processes) then their could be many thousands of stats.
- WORK IN PROGRESS - this needs further work:
- Remove the code fragment.
- Add the units (if we can work that out).
- Add some comments on meaning and usefulness.
- The order here is the order in the source code - perhaps we need to change that to the order in the output files.
- Data types:
- long means it is an integer.
- double means it is a floating point number (all values have 3 digits after the decimal point).
- hex means it is a hexadecimal number or a set of bits in a flag = these are rare - you have to check the docs.
- When it says Stats from perfstat_****() this means the data is extracted from the excellent AIX perfstat library.
- Read on a (recent) AIX server the file /usr/include/libperfstat.h for a one line description for each stat - then you know as much as I do.
- There are manuals pages too but the words are the same!!
- KnowledgeCenter page for perfstat API
- You will find the bulk on the njmon for AIX and VIOS is using this library.
server
- Basic AIX and server stats from various sources
double | "aix_version" | AIX7.2 appears as number 7.2 |
long | "aix_technology_level" | TL |
long | "aix_service_pack" | SP |
long | "aix_build_year" | This is the year the AIX, TL and Service pack was released |
long | "aix_build_week" | This week number AIX, TL and Service pack was released from 1 to 52 |
string | "serial_no" | Serial number of the server this LPAR is running on |
string | "lpar_number_name" | LPAR Id number defined on the HMC and the name it has on the HMC for example "6,blue" |
string | "machine_type" | the IBM machine type model like "IBM,8404-E8E" |
string | "uname_node" | normally the short hostname |
timestamp
- Time and date of each snap shoot and the loop counter
string | "datetime" | ISO standard date time string like "2019-01-28T15:30:59" January 28th |
string | "UTC" | Universal Coordinated Time (GMT) |
long | "snapshot_seconds" | Seconds between taking snapshots of the stats |
long | "snapshot_maxloops" | Maximum number of snapshots and njmon will stop |
long | "snapshot_loop" | Current snapshot number |
gpfs_io_total
- GPFS = Spectrum Scale stats from running the mmpmon tool as a child process
string | "node" | |
string | "name" | |
long | "rc" | status 0 = OK |
long | "time" | epoc seconds |
long | "tu" | |
long | "readbytes" | |
long | "writebytes" | |
long | "open" | |
long | "close" | |
long | "reads" | |
long | "writes" | |
long | "directorylookup" | |
long | "inodeupdate" |
gpfs_filesystems
- GPFS filesystem level stats from running the mmpmon tool as a child process
string | "node" | |
string | "name" | |
long | "rc" | status 0 = OK |
long | "time" | epoc seconds |
long | "tu" | |
string | "cl" | |
long | "disks" | |
long | "readbytes" | |
long | "writebytes" | |
long | "open" | |
long | "close" | |
long | "reads" | |
long | "writes" | |
long | "directorylookup" | |
long | "inodeupdate" |
config
- This data from the perfstat_partition_config() function
string | "partitionname" | |
string | "nodename" | |
string | "processorFamily" | |
string | "processorModel" | |
string | "machineID" | |
double | "processorMHz" | |
long | "pcpu_max" | |
long | "pcpu_online" | |
string | "OSname" | |
string | "OSversion" | |
string | "OSbuild", | |
long | "lcpus" | |
long | "smtthreads" | |
long | "drives" | |
long | "nw_adapter" | |
long | "cpucap_min" | |
long | "cpucap_max" | |
long | "cpucap_desired" | |
long | "cpucap_online" | |
long | "cpucap_weightage" | |
double | "entitled_proc_capacity" | |
long | "vcpus_min" | |
long | "vcpus_max" | |
long | "vcpus_desired" | |
long | "vcpus_online" | |
long | "processor_poolid" | |
long | "activecpusinpool" | |
long | "cpupool_weightage" | |
long | "sharedpcpu" | |
long | "maxpoolcap" | |
long | "entpoolcap" | |
long | "mem_min" | |
long | "mem_max" | |
long | "mem_desired" | |
long | "mem_online" | |
long | "mem_weightage" | |
long | "ams_totiomement" | |
long | "ams_mempoolid" | |
long | "ams_hyperpgsize" | |
long | "expanded_mem_min" | |
long | "expanded_mem_max" | |
long | "expanded_mem_desired" | |
long | "expanded_mem_online" | |
long( | "ame_targetmemexpfactor" | |
long | "ame_targetmemexpsize" | |
hex | "subprocessor_mode" |
GENERIC disk stats
- Same stats are used for many resources
string | "description" | |
string | "adapter_type" | "SCSI, SAS, other")"Virtual SCSI/SAS Adapter", "Fibre Channel" or "unknown" |
long | "devices" | number of devices |
long | "size_mb" | |
long | "free_mb" | |
long | "capable_rate_kbps" | |
long | "bsize" | |
double | "transfers" | transfer per second |
double | "rtransfers" | read transfer per second |
double | "wtransfers" | write transfer per second |
double | "read_kb" | read KB per second |
double | "write_kb" | write KB per second |
double | "read_time" | average read service time |
double | "write_time" | average write service time |
double | "time" | CHECK this one - time! |
disk_adapters
- Stats from perfstat_diskadapter()
- See GENERIC disk stats
vios_vhost
- Stats from perfstat_virtualdiskadapter()
- See GENERIC disk stats
GENERIC Fibre Channel stats
string | "state" | "UP", "DOWN" or "unknown" |
double | "InputRequests" | per second |
double | "OutputRequests" | per second |
double | "InputBytes" | per second |
double | "OutputBytes" | per second |
long | "EffMaxTransfer" | |
long | "NoDMAResourceCnt" | |
long | "NoCmdResourceCnt" | |
string | "AttentionType" | "Link down" or "Link up" |
long | "SecondsSinceLastReset" | |
double | "TxFrames" | per second |
double | "TxWords" | per second |
double | "RxFrames" | per second |
double | "RxWords" | per second |
long | "PortSpeed" | |
long | "PortSupportedSpeed" | |
long | "PortFcId" | |
string | "PortType" | |
hex | "PortWWN" | port World wide number |
string | "adapter_type" | "Fibre Channel or "Virtual Fibre Channel" |
string | "physical_name" | |
string | "client_part_name" |
fc_adapters
- Stats from perfstat_fcstat()
- KnowledgeCenter code example
- See GENERIC Fibre Channel stats above
vios_virtual_fcadapter
- Stats from perfstat_virtual_fcadapter()
- See GENERIC Fibre Channel stats above
GENERIC network stats
string | "adapter_type" | |
double | "tx_packets" | per second |
double | "tx_bytes" | per second |
double | "tx_interrupts" | per second |
double | "tx_errors" | per second |
double | "tx_packets_dropped" | per second |
double | "tx_queue_size" | per second |
double | "tx_queue_len" | count |
double | "tx_queue_overflow" | count |
double | "tx_broadcast_packets" | per second |
double | "tx_multicast_packets" | per second |
double | "tx_carrier_sense" | per second |
double | "tx_DMA_underrun" | per second |
double | "tx_lost_CTS_errors" | per second |
double | "tx_max_collision_errors" | per second |
double | "tx_late_collision_errors" | per second |
double | "tx_deferred" | per second |
double | "tx_timeout_errors" | per second |
double | "tx_single_collision_count" | count |
double | "tx_multiple_collision_count" | count |
double | "rx_packets" | per second |
double | "rx_bytes" | per second |
double | "rx_interrupts" | per second |
double | "rx_errors" | per second |
double | "rx_packets_dropped" | count |
double | "rx_bad_packets" | count |
double | "rx_multicast_packets" | per second |
double | "rx_broadcast_packets" | per second |
double | "rx_CRC_errors" | per second |
double | "rx_DMA_overrun" | per second |
double | "rx_alignment_errors" | per second |
double | "rx_noresource_errors" | per second |
double | "rx_collision_errors" | per second |
double | "rx_packet_tooshort_errors" | count |
double | "rx_packet_toolong_errors" | count |
double | "rx_packets_discardedbyadapter" | per second |
VIOS SEA network_bridged
- Stats from perfstat_bridgedadapters()
- See GENERIC network stat above
network_adapters
- Stats from perfstat_netadapter()
- See GENERIC network stat above
network_interfaces
- Stats from perfstat_netinterface()
string | "description" | |
long | "mtu" | count |
double | "ipackets" | per second |
double | "ibytes" | per second |
double | "ierrors" | per second |
double | "opackets" | per second |
double | "obytes" | per second |
double | "oerrors" | per second |
double | "collisions" | per second |
double | "xmitdrops" | per second |
double | "if_iqdrops" | per second |
double | "if_arpdrops" | per second |
double | "bitrate_mbit" | Mbit per second |
network_total
- Stats from perfstat_netinterface_total()
double | "networks" | count |
double | "ipackets" | per second |
double | "ibytes" | per second |
double | "ierrors" | per second |
double | "opackets" | per second |
double | "obytes" | per second |
double | "oerrors" | per second |
double | "collisions" | per second |
double | "xmitdrops" | per second |
logical_cpu
- Stats from perfstat_cpu()
- logical CPU stats utilisation (the SMT threads)
long | "user" | utilisation percent |
long | "sys" | utilisation percent |
long | "wait" | utilisation percent |
long | "idle" | utilisation percent |
physical_cpu
- Stats from perfstat_cpu()
- The CPU core utilisation based on HW ticks
long | "user" | utilisation percent |
long | "sys" | utilisation percent |
long | "wait" | utilisation percent |
long | "idle" | utilisation percent |
cpu_syscals - Check division by elapsed
- Stats from perfstat_cpu()
- System calls from application into the AIX Kernel
double | "syscall" | rate |
double | "sysread" | rate |
double | "syswrite" | rate |
double | "sysfork" | rate |
double | "sysexec" | rate |
double | "sysreadch" | rate |
double | "syswritech" | rate |
processes Stats from perfstat_process_util()
- The running process details
long | "sizeof" | |
long | "items" | |
long | "returned" | |
long | "error" | |
long | "pid" | |
string | "name" | Process name |
long | "priority" | |
long | "num_threads" | |
long | "uid" | |
long | "wparid" | |
long | "size" | |
long | "real_mem_data" | |
long | "real_mem_text" | |
long | "virt_mem_data" | |
long | "virt_mem_text" | |
long | "shared_lib_data" | |
long | "heap_size" | |
long | "real_inuse" | |
long | "virt_inuse" | |
long | "pinned" | |
long | "pgsp_inuse" | |
long | "filepages" | |
long | "real_inuse_map" | |
long | "virt_inuse_map" | |
long | "pinned_inuse_map" | |
double | "ucpu_time" | |
double | "scpu_time" | |
long | "inBytes" | |
long | "outBytes" | |
long | "inOps" | |
long | "outOps" |
cpu_util
- Stats from perfstat_cpu_util()
double | "user_pct" | percent |
double | "kern_pct" | percent |
double | "idle_pct" | percent |
double | "wait_pct" | percent |
double | "physical_busy" | |
double | "physical_consumed" | Also called CPU Busy |
double | "idle_donated_pct" | percent |
double | "busy_donated_pct" | percent |
double | "idle_stolen_pct" | percent |
double | "busy_stolen_pct" | percent |
double | "entitlement" | |
double | "entitlement_pct" | |
double | "freq_pct" | Over clock percent 100%=nominal GHz |
double | "nominal_mhz" | |
double | "current_mhz" |
cpu_details
- Stats from perfstat_cpu_total()
long | "cpus_active" | |
long | "cpus_configured" | |
double | "mhz" | |
string | "cpus_description" |
kernel
- AIX Kernel Stats from perfstat_cpu_total()
double | "pswitch" | per second |
double | "syscall" | per second |
double | "sysread" | per second |
double | "syswrite" | per second |
double | "sysfork" | per second |
double | "sysexec" | per second |
double | "readch" | per second |
double | "writech" | per second |
double | "devintrs" | per second |
double | "softintrs" | per second |
double | "load_avg_1_min" | |
double | "load_avg_5_min" | |
double | "load_avg_15_min" | |
double | "uptime_days" | |
double | "run_queue" | |
double | "swp_queue" | |
double | "bread" | per second |
double | "bwrite" | per second |
double | "lread" | per second |
double | "lwrite" | per second |
double | "phread" | per second |
double | "phwrite" | per second |
long | "runocc_count" | |
long | "swpocc_count" | |
long | "runocc_avg" | per second |
long | "swpocc_avg" | per second |
double | "iget" | per second |
double | "namei" | per second |
double | "dirblk" | per second |
double | "msg" | per second |
double | "sema" | per second |
double | "rcvint" | per second |
double | "xmtint" | per second |
double | "mdmint" | per second |
double | "tty_rawinch" | per second |
double | "tty_caninch" | per second |
double | "tty_rawop" | |
hex | "lpar_flags" | A set of bits (flags) in a hexadecimal (check the docs) |
long | "pcpus_in_sys" | |
long | "online_vcpus" | |
long | "online_lcpus" | |
long | "pcpus_in_pool" | |
long | "unalloc_capacity" | |
double | "entitled_capacity" | |
long | "variable_weight" | |
long | "unalloc_weight" | |
long | "min_req_vcpu_capacity" | |
long | "group_id" | |
long | "pool_id" | |
long | "shcpus_in_sys" | |
double | max_pool_capacity | |
double | entitled_pool_capacity" | |
long | "pool_max_time" | |
long | "pool_busy_time" | |
long | "pool_scaled_busy_time" | |
long | "shcpu_tot_time" | |
long | "shcpu_busy_time" | |
long | "shcpu_scaled_busy_time" | |
long | "ent_mem_capacity" | |
long | "phys_mem" | |
long | "vrm_pool_physmem" | |
long | "hyp_pagesize" | |
long | "rm_pool_id" | |
long | "vrm_group_id" | |
long | "var_mem_weight" | |
long | "unalloc_var_mem_weight" | |
long | "*unalloc_ent_mem_capacity" | |
long | "true_online_memory" | |
long | "ame_online_memory" | |
long | "ame_type" | |
long | "ame_factor" | |
long | "em_part_major_code" | |
long | "em_part_minor_code" | |
long | "bytes_coalesced" | |
long | "bytes_coalesced_mempool" | |
long | "purr_coalescing" | |
long | "spurr_coalescing" |
VIOS Shared Storage Pool ssp_global
- Stats from perfstat_ssp(SSPGLOBAL)
string | "ClusterName" | |
string | "PoolName" | |
long | "TotalSpace_MB" | |
long | "TotalUsedSpace_MB" |
VIOS Shared Storage Pool ssp_pv
- Stats from perfstat_ssp(SSPDISK)
long | "capacity_MB" | |
long | "free_MB" | |
string | "tiername" | |
string | "failure_group" |
VIOS Shared Storage Pool ssp_lu
- stats from perfstat_ssp(SSPVTD)
string | "type" | |
long | "size_MB" | |
long | "free_MB" | |
long | "usage_MB" | |
long | "LPAR_id" | |
string | "MTM" | Machine type Model |
string | "VTDname" | |
string | "DRCname" | |
string | "udid" |
VIOS Shared Storage Pool ssp_node
- Stats from perfstat_ssp(SSPNODE)
string | "ipaddress" | |
string | "MTMS" | |
long | "lparid" | |
string | "ioslevel" | |
string | "status" | 1=OK |
string | "poolstatus" | 1=OK |
lpar_format1
string | "lpar_name" | |
long | "min_memory" | |
long | "max_memory" | |
long | "memory_region | |
long | "dispatch_wheel_time" | |
long | "lpar_number" | |
long | "lpar_flags" | |
long | "max_pcpus_in_sys" | |
long | "min_vcpus" | |
long | "max_vcpus" | |
long | "min_lcpus" | |
long | "max_lcpus" | |
double | "minimum_capacity" | percent |
double | "maximum_capacity" | percent |
double | "capacity_increment" | percent |
long | "smt_threads" | |
long | "num_lpars | AIX 7 and above |
double | "desired_capacity" | percent |
long | "desired_vcpus" | |
long | "desired_memory" | |
long | "desired_variable_capwt | |
long | "servpar_id | AIX 7 and above |
long | "true_max_memory" | |
long | "true_min_memory" | |
long | "ame_max_memory" | |
long | "ame_min_memory" | |
long | "spcm_status" | |
long | "spcm_max" |
lpar_format2
long | "online_memory" | |
double | "tot_dispatch_time" | rate |
double | "pool_idle_time" | rate |
long | "dispatch_latency" | |
hex | "lpar_flags" | A set of bits (flags) in a hexadecimal (check the docs) |
long | "pcpus_in_sys" | |
long | "online_vcpus" | |
long | "online_lcpus" | |
long | "pcpus_in_pool" | |
long | "unalloc_capacity" | |
double | "entitled_capacity" | percent |
long | "variable_weight" | |
long | "unalloc_weight" | |
long | "min_req_vcpu_capacity" | |
long | "group_id" | |
long | "pool_id" | |
long | "shcpus_in_sys" | |
double | "max_pool_capacity" | percent |
double | "entitled_pool_capacity" | percent |
double | "pool_max_time" | rate |
double | "pool_busy_time" | rate |
double | "pool_scaled_busy_time" | rate |
double | "shcpu_tot_time" | rate |
double | "shcpu_busy_time" | rate |
double | "shcpu_scaled_busy_time" | rate |
long | "ent_mem_capacity" | |
long | "phys_mem" | |
long | "vrm_pool_physmem" | |
long | "hyp_pagesize" | |
long | "vrm_pool_id" | |
long | "vrm_group_id" | |
long | "var_mem_weight" | |
long | "unalloc_var_mem_weight" | |
long | "unalloc_ent_mem_capacity" | |
long | "true_online_memory" | |
long | "ame_online_memory" | |
long | "ame_type" | |
long | "ame_factor" | |
long | "em_part_major_code" | |
long | "em_part_minor_code" | |
long | "bytes_coalesced" | |
long | "bytes_coalesced_mempool" | |
long | "purr_coalescing" | |
long | "spurr_coalescing" |
The End