Brief Data

This format does NOT include data for any individual devices such as cpu, disk, network, nfs, lustre, process, slabs or tcp. If you do select any one of them collectl will force --verbose format.

CPU Data, collectl -sc

#<--------CPU-------->
#cpu sys inter  ctxsw
cpu Percent of time the cpu was busy during the current interval averaged across all CPUs and is actually the total percentage of time the CPU in one of the following: system, user, nice, irq, soft-irq and steal. Note that this does NOT include time spend in I/O wait.
sys Percentage of time the cpu was executing in system mode during the current interval. This includes all those modes as above except user and nice to to determine the amount of time spent as a user you need to subtract these from the total cpu field.
inter Total number of interrupts/sec.
ctxswTotal number of context switches/sec.

Disk, collectl -sd

There are currently 3 places that collectl can gather disk performance data from. Fortunately you don't really have to worry about it unless you really care. In the 2.4 kernel, the most detailed disk data is stored in /proc/partitions and that is indeed where collectl tries to get it from. However, some older kernels may not have been configured to provide this data in which case collectl will grab less detailed data from /proc/stat. In the 2.6 kernel, performance data has been moved from /proc/partitions to /proc/diskstats and so it is gathered from there.

In any event, regardless of where the data comes from it is all presented in the same format. This means some fields may be 0 (2.4 kernels and /proc/stat) when displayed with --verbose, but it is expected few systems will fall into this category.

#<---------------Disks---------------->
#KBRead  Reads  Size KBWrit Writes Size
KBReadKB read/sec
ReadsNumber of reads/sec
SizeAverage read size in KB. This field only included if --iosize specified
KBWriteKB written/sec
WritesNumber of writes/sec
SizeAverage write size in KB. This field only included if --iosize specified

Infiniband, collectl -sx

#<---------------InfiniBand--------------->
#  KBIn  PktIn Size  KBOut PktOut Size Errs
KBInKB received/sec.
PckInPackets received/sec.
SizeAverage incoming packet size in KB. This field is only included if --iosize included
KBOutKB sent/sec.
PktOutPackets sent/sec.
SizeAverage outgoing packet size in KB. This field is only included if --iosize included
ErrsCount of current errors. Since these are typically infrequent, it is felt that reporting them as a rate would result in either not seeing them OR round-off hiding their values.

Lustre

Lustre data actually falls into one of 3 categories - client, mds and oss. Collectl determines the type of system it is running on (a system can have multiple personalities) and reports on all it finds, unless specifically selected via -L.

Lustre Client, collectl -sl

#<-------------Lustre Client------------->
# KBRead  Reads Size  KBWrite Writes Size
not necessarily from the lustre storage servers.
KBReadKB/sec delivered to the client.
ReadsReads/sec delivered to the client,
SizeAverage read size in KB. This field only included if --iosize specified
KBWriteKB Writes/sec delievered to the storage servers.
WritesWrites/sec delievered to the storage servers.
SizeAverage write size in KB. This field only included if --iosize specified

The following format of lustre client data is selected by including -OR and adds readahead statistics to the previous six, noting the Size fields are dependent on --iosize being specificed.

#<--------------------Lustre Client-------------------->
# KBRead  Reads Size  KBWrite Writes Size   Hits Misses
KBReadKB/sec delivered to the client.
ReadsReads/sec delivered to the client, not necessarily from the lustre storage servers.
SizeAverage read size in KB.
KBWriteKB Writes/sec delievered to the storage servers.
WritesWrites/sec delievered to the storage servers.
SizeAverage write size in KB.
HitsNumber of reads/sec from the lustre prefetch cache.
MissesNumber of misses/sec from the prefetch cache which must then be satisfied by reading from the storage servers.

Lustre MDS (Meta-Data Server)
The first format is for lustre versions 1.6.5 and beyond while the second format is for earlier releases

#<--------Lustre MDS-------->
#Gattr+ Sattr+   Sync  Unlnk

#<--------Lustre MDS-------->
#Gattr+ Sattr+   Sync  Reint
Gattr+Total number of all getattr operations/sec. See Getattr, GttrLck and Gxattr in the verbose data section
Sattr+Total number of all getattr operations/sec. See Setattr and Sxattr in the verbose data section
SyncNumber of syncs/sec
UnlnkNumber of file deletes/sec
ReintNumber of reints/sec which include unlinks and setattrs. Since older version did not break out setattrs, they are not included in Sattr+.

Lustre OSS (Object Storage Server), collectl -sc

#<--------------Lustre OST-------------->
# KBRead  Reads Size  KBWrit Writes Size
KBReadKB/sec read
ReadsReads/sec
SizeAverage read size in KB. This field only included if --iosize specified
KBWriteKB/sec written
WritesWrites/sec
SizeAverage write size in KB. This field only included if --iosize specified

Memory, collectl -sm

#<-----------Memory---------->
#free buff cach inac slab  map
freeTotal free memory, which unfortunately is NOT the difference between total memory and the following amounts allocated to used memory.
buffMemory used as system buffers.
cachThis is also commonly known as the file system buffer cache as buffered I/O uses this memory to cache the data.
inacInactive memory.
slabTotal memory allocated to slabs.
mapTotal mapped memory, which include AnonPages.

Network, collectl -sn

#<---------------Network--------------->
#  KBIn  PktIn Size KBOut  PktOut  Size
KBInKB received/sec over all real network interfaces and therefore excludes 'lo' and 'sit'.
PktInPackets received/sec over all real network interfaces.
SizeAverage incoming packet size in bytes. This field is only included if --iosize specified
KBOutKB sent/sec over all real network interfaces.
PktOutPackets sent/sec over all real network interfaces.
SizeAverage outgoing packet size in bytes. This field is only included if --iosize specified

NFS, collectl -sf

#<--NFS Svr Summary-->
#  read  write  calls
readTotal nfs reads/sec.
writeTotal nfs writes/sec.
callsTotal nfs calls/sec.

Slabs, collectl -sy

#<----slab---->
# Alloc   Bytes
AllocTotal Number of slabs allocated
BytesTotal Number of bytes allocated as slabs

Sockets, collectl -ss

#<------Sockets----->
#  Tcp  Udp  Raw Frag
TcpTotal TCP sockets currently in use.
UdpTotal UDP sockets currently in use.
RawTotal RAW sockets currently in use.
FragTotal number of IP fragments queues currently in use.

TCP, collectl -st

#<------------TCP------------>
#PureAcks HPAcks   Loss FTrans
PureAcksACKs/sec that only contain acks (ie no data).
HPAcksFast-path acks/sec.
LossPackets/sec TCP thinks have been lost coming in.
FTransFast retransmissions/sec.