Linux Per-Process CPU Runtime Statistics: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by the same user not shown)
Line 20: Line 20:
Running time for process (in seconds)
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_7_General_Concepts#USER_HZ|USER_HZ]])
   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 percentage:


  cpu-usage = (total-time-proc-plus-children / [[Linux_7_General_Concepts#USER_HZ|USER_HZ]]) / process-running-time * 100
  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