Linux Per-Process CPU Runtime Statistics: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 16: Line 16:
If we want to include time from children processes:
If we want to include time from children processes:


  total-time-proc-plus-children = total-time-proc + [[/proc/pid/stat#Field_16_-_cutime|cutime]] + [[/proc/pid/stat#Field_17_-_cstime|cstime]].
  total-time-proc-plus-children = total-time-proc + [[/proc/pid/stat#Field_16_-_cutime|cutime]] + [[/proc/pid/stat#Field_17_-_cstime|cstime]]
 
Running time for process (in seconds)
 
  process-running-time(seconds) = [[/proc/uptime#System_Uptime|system-uptime]](seconds) - ([[/proc/pid/stat#Field_22_-_starttime|starttime]] / [[Linux_General_Concepts#USER_HZ|USER_HZ]])
 
CPU usage percentage:
 
cpu-usage = (total-time-proc-plus-children / [[Linux_General_Concepts#USER_HZ|USER_HZ]]) / process-running-time * 100
 
=Tools=
 
{{Internal|Novaordis-linux#Overview|novaordis-linux collector}}

Latest revision as of 21:22, 2 May 2018

External

Internal

Overview

To determine total time spend by the process in user and kernel modes:

total-time-proc = utime + stime

If we want to include time from children processes:

total-time-proc-plus-children = total-time-proc + cutime + cstime

Running time for process (in seconds)

 process-running-time(seconds) = system-uptime(seconds) - (starttime / USER_HZ)

CPU usage percentage:

cpu-usage = (total-time-proc-plus-children / USER_HZ) / process-running-time * 100

Tools

novaordis-linux collector