Skip to main content



CPU time accounting

developerWorks
General Virtual CPU time accounting System tick misaccounting patch for SLES8
   Recommendations  |   HOWTO & tools

Description




In case of high I/O loads, the Linux provided "resource usage statistics" may be inaccurate. System activity tools as "vmstat", "top", or the "sysstat package" base on these statistics. When you need to rely on the reported percentages of total CPU time, apply the System Tick Misaccounting patch.

Description

The "resource usage statistics" contain all important system activity information. System activity report tools obtain their information from this statistics block. The percentages of total CPU time calculation are based on the Linux timer tick accounting model. Linux maintains a timer (based on the zSeries clock comparator), which issues a timer interrupt handled by the Linux kernel interrupt handler. This timer interval is called a tick and lasts 10 ms per default.

After each timer interrupt the last tick is accounted as "system", "user" or "idle" CPU time, dependent on the currently running process. The reported percentages of total CPU time can be wrong, especially in case of workloads containing lots of I/O interrupts (as in case of network traffic or DASD I/O). In this case the LPAR hypervisor delivers an I/O interrupt with a higher priority than a timer interrupt. When the timer interrupt occurs and a subsequent I/O interrupt is brought forward first by the LPAR hypervisor, an "idle tick" is accounted as a "system tick", assumed that the system was in an idle state before. All up, the reported system percentage number is too high and hence the idle percentage number too low. This problem is called System Tick Misaccounting.

Linux running in an LPAR:
For Linux systems running in a LPAR a System Tick Misaccounting patch is available.
 
Linux running as a guest under z/VM:
The patch for the LPAR case does not apply to z/VM; however you can have the patch installed. But Linux guests under z/VM still show small deviating percentages of system/idle CPU times especially for workloads which involve the z/VM QDIO feature. For precise CPU load numbers, rely on the CPU load displays of the Performance Toolkit for VM Feature.
 
Accounting on virtualized hardware environments:
An IBM zSeries platform introduces a strongly virtualized environment when the hardware resources are shared among the LPARs. If the hardware resources are overcommitted, the LPAR hypervisor may withdraw the resources for an LPAR as occasion demands. However, the Linux accounting model is based on exclusively assigned hardware, and therefore CPU time calculations may deviate. This problem differs from the System Tick Misaccounting. A good management platform for the virtualized zSeries hardware environment is the z/OS Resource Measurement Facility (RMF), which can be also used to manage Linux running in an LPAR.
 

Back to top



Team
Please address any comments to the performance team: linux390@de.ibm.com