Skip to main content



CPU time accounting

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

Precise CPU times
Steal time
Performance considerations




The Linux distributions SUSE SLES10 and Red Hat RHEL5 use the virtual CPU time accounting by default. However this feature is kernel configurable and allows the alternative enabling of tick based CPU time accounting.

The patches for virtual CPU time accounting are included from kernel 2.6.11 on.

Precise CPU times

For Linux on System z running in an LPAR or as a z/VM guest, the Linux standard commands which display process time information (top, vmstat, ps, time) show precise CPU times when virtual CPU time accounting is enabled. The semantics of the reported CPU time numbers has changed with the introduction of virtual CPU time accounting:

  • The numbers based on tick based CPU time accounting report CPU times spent in a virtual CPU context.
  • The numbers based on virtual CPU time accounting report CPU times spent in a real CPU context.
    The internal precision of the CPU time numbers is at least 1 microsecond on a System z machine.

Further a new field "steal time" is added to the /proc/stat file interface.


Back to top


Steal time

Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.

Tools displaying steal time:

  • Newer versions of the Linux standard commands displaying CPU time information now show this number. Older versions include steal time in CPU idle time.
  • The popular sysstat utilities package, which is often used for detailed performance analysis purposes, has been updated and now shows the CPU steal time.
    • sysstat 6.0.2: mpstat, iostat display CPU steal time
    • sysstat 7.0.0: mpstat, iostat, and sar -u display the CPU steal time

Sample TOP output


Back to top


Performance considerations

The virtual CPU time accounting needed additional coding in the first level interrupt handler. This slows down the system call path. However benchmarking shows no noticeable degradation for normal workloads.


Back to top



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