Linux Operating System Performance Counters

Linux operating system is a popular choice for use as a server. It is an open-source, free operating system that is highly reliable and secure. It is also easy to customize and is compatible with most hardware and software. Linux servers are used for a variety of tasks, such as web hosting, virtualization, file and print services, and database management. Linux servers are also used for Internet of Things (IoT) applications, Big Data analytics, and cloud computing. Linux servers offer scalability and flexibility, as well as being able to run on a wide range of hardware. They are also known for their stability, security, and performance. Linux servers are cost-effective, making them a popular choice for businesses of all sizes.

There are various commands that help to get resource details and utilization on the Linux operating system:

CPU

  1. lscpu
  2. top
  3. mpstat
  4. vmstat
  5. sar
  6. Htop
  7. Nmon

Memory

  1. top
  2. free
  3. dmidecode
  4. less /proc/meminfo

Disk

  1. sysstat
  2. iostat

Performance Counters of Linux Operating System

System

  1. CPU User: Time spent running non-kernel code (user time, including nice time). Percentage of total CPU time.
  2. CPU System: Time spent running kernel code (system time). Percentage of total CPU time.
  3. CPU Idle: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time. Percentage of total CPU time.
  4. Interruptions Count: The number of interrupts per second, including the clock.
  5. Context Switch Count: The number of context switches per second.
  6. Context Switch Count per CPU: Number of context switches per second per CPU.
  7. Processes Runnable: The number of processes waiting for run time.
  8. Processes Runnable per CPU: The number of processes waiting for run time per CPU.
  9. Processes Sleeping: The number of processes in uninterrupted sleep.
  10. Processes Swapped: The number of processes swapped out but otherwise runnable. This field is calculated; however, Linux never desperation swaps.
  11. Swap in: Amount of memory swapped in from disk (/s)
  12. Swap out: Amount of memory swapped to disk (/s)

Memory

  1. Total Memory: Total usable ram (i.e. physical ram minus a few reserved bits and the kernel binary code)
  2. Memory Used: Total memory – Memory free.
  3. Memory Free: It is the sum of LowFree+HighFree (overall stat).
  4. Memory Buffered: Memory in buffer cache. Mostly useless as metric nowadays.
  5. Memory Cache: Memory in the pagecache (diskcache) minus SwapCache.
  6. User Memory: Memory used, except caches and buffers. (User Memory = Memory Total – Memory Free – Memory Buffered – Memory Cache)
  7. % User Memory: Percentage of used memory (% User Memory = User Memory / Memory Total * 100)
  8. Total Swap: Total amount of physical swap memory.
  9. Swap Free: Total amount of swap memory free.
  10. Swap Used: Swap Total – Swap Free.

Disk (per device)

  1. Disk Read Request Merged: The number of read requests merged per second issued to the device.
  2. Disk Write Request Merged: The number of write requests merged per second issued to the device.
  3. Disk Read: The number of read requests issued to the device per second.
  4. Disk Write: The number of write requests issued to the device per second.
  5. Disk Read (sector): The number of sectors read from the device per second.
  6. Disk Write (sector): The number of sectors written to the device per second.
  7. Disk Read (KB): The number of kilobytes read from the device per second.
  8. Disk Write (KB): The number of kilobytes written to the device per second.
  9. Disk Request Size: The average size (in sectors) of the requests issued to the device.
  10. Queue Length: The average queue length of the requests issued to the device.
  11. IO Wait: The average time (in milliseconds) for I/O requests issued to the device to be served. This includes the time spent by requests in a queue and the time spent servicing them.
  12. Disk Service Time: The average service time (in milliseconds) for I/O requests issued to the device.
  13. IO CPU Time: Percentage of CPU time during which I/O requests are issued to the device (bandwidth utilization for the device). Device saturation occurs when this value is close to 100%.

Processes (per process)

The processes section counters are available per process. Outside the wizard, select the process identifier in the counter definition pane. A process identifier picker is available using the selection button.

  1. Process Memory Usage: Resident size (kb). The non-swapped physical memory a task has used.
  2. Process CPU Time: The task share of the elapsed CPU time since the last update, expressed as a percentage of total CPU time.

Network (per interface)

The network section counters are available per interface. Outside the wizard, select the interface name in the counter definition pane. A network interface picker is available through the Populate button.

  1. Incoming bytes/s: The number of bytes received by the network interface per second.
  2. Incoming packets/s: The number of packets received by the network interface per second.
  3. Incoming packet errors/s: The number of broken packets received by the network interface per second.
  4. Incoming packets dropped/s: The number of packets received and discarded by the network interface per second.
  5. % Incoming packet errors: Percentage of broken packets received by the network interface (% Incoming packet errors = Incoming packet errors / Incoming packets *100).
  6. Outgoing bytes/s: The number of bytes issued by the network interface per second.
  7. Outgoing packets/s: The number of packets issued by the network interface per second.
  8. Outgoing packets errors/s: The number of broken packets issued by the network interface per second.
  9. Outgoing packets dropped/s: The number of packets issued by the network interface and lost per second.
  10. % Outgoing packet errors: Percentage of packets issued by the network interface and considered broken (% Outgoing packet errors = Outgoing packet errors / Outgoing packets *100).
  11. Packet collisions: The number of packet collisions discovered by the network interface.

TCP

  1. Incoming segments/s: The number of TCP segments received per second.
  2. Outgoing segments/s: The number of TCP segments transmitted per second.
  3. Segments retransmitted/s: The number of TCP segments retransmitted per second.
  4. % Segments retransmitted: Percentage of retransmitted segments (% Segments retransmitted = Segments retransmitted / Outgoing segments *100).

You may be interested:


Leave a Comment