/proc/pid/stat: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 80: Line 80:


Amount of time that this process's waited-for children have been scheduled in kernel mode, measured in  [[Linux_7_General_Concepts#USER_HZ|clock ticks]].
Amount of time that this process's waited-for children have been scheduled in kernel mode, measured in  [[Linux_7_General_Concepts#USER_HZ|clock ticks]].
==Field 18 - priority==
==Field 19 - nice==
==Field 20 - num_threads==
==Field 21 - itrealvalue==


==Field 22 - starttime==
==Field 22 - starttime==

Revision as of 00:20, 2 March 2018

External

Internal

Overview

/proc/<pid>/stat contains status information about a process. This information is used by ps.

Example

972 (docker-containe) S 901 972 972 0 -1 1077944576 2657 0 2 0 561 205 0 0 20 0 11 0 1820 441688064 2327 18446744073709551615 4194304 11049596 140727040242048 140727040241432 4602915 0 2079995941 0 2143420159 18446744073709551615 0 0 17 1 0 0 0 0 0 13147640 13322176 25554944 140727040249523 140727040249749 140727040249749 140727040249821 0

Content

1:pid 2:(exec-file-name) 3:state 4:ppid 5:pgrp 6:session 7 8 9 10 11 12 13 14:utime 15:stime 16:cutime 17:cstime 18 19 20 21 22:starttime 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43:guest_time 44 45 46 47 48 49 50 51 52

Field 1 - pid

The process ID as integer.

Field 2 - Executable File Name

The filename of the executable, in parentheses. This is visible whether or not the executable is swapped out.

Field 3 - state

The process state, as character:

  • R - running
  • S - sleeping in an interruptible wait
  • D - waiting in uninterruptible disk sleep
  • Z - zombie
  • T - stopped on a signal or (before 2.6.33) trace stopped
  • t - tracing stop (2.6.33 onward)
  • W - paging (before 2.6.0)
  • X - dead (from 2.6.0 onward)
  • x - dead (2.6.33 to 3.13 only)
  • K - wakekill (2.6.33-3.13)
  • W - waking (2.6.33-3.13)
  • P - parked (3.9-3.13)

Field 4 - ppid

The pid of the parent process, as integer.

Field 5 - pgrp

The process group ID, as integer.

Field 6 - session

The session ID of the process, as integer.

Field 7 - tty_nr

Field 8 - tpgid

Field 9 - flags

Field 10 - minflt

Field 11 - cminflt

Field 12 - majflt

Field 13 - cmajflt

Field 14 - utime

Amount of time that this process has been scheduled in user mode, measured in clock ticks. Expressed as an unsigned long. This includes guest time, as described below, so that applications that are not aware of the guest time field do not lose that time from their calculations.

Field 15 - stime

Amount of time that this process has been scheduled in kernel mode, measured in clock ticks. Expressed as an unsigned long.

Field 16 - cutime

Waited-for children's CPU time spent in user code expressed in clock ticks. This includes guest time, which is time spent running a virtual CPU.

Field 17 - cstime

Amount of time that this process's waited-for children have been scheduled in kernel mode, measured in clock ticks.

Field 18 - priority

Field 19 - nice

Field 20 - num_threads

Field 21 - itrealvalue

Field 22 - starttime

The timestamp of the process start, relative to the system boot. In kernels before 2.6, this value was expressed in jiffies. Since 2.6, the value is expressed in clock ticks.

To calculate the amount of time the process was up an running, use the following formula:

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

Field 43 - guest_time

Guest time of the process, which is time spent running a virtual CPU for a guest operating system, measured in clock ticks. Expressed as an unsigned long.