perf-sched.txt 3.9 KB
Newer Older
I
Ingo Molnar 已提交
1 2 3 4 5
perf-sched(1)
==============

NAME
----
6
perf-sched - Tool to trace/measure scheduler properties (latencies)
I
Ingo Molnar 已提交
7 8 9 10

SYNOPSIS
--------
[verse]
11
'perf sched' {record|latency|map|replay|script|timehist}
I
Ingo Molnar 已提交
12 13 14

DESCRIPTION
-----------
15
There are several variants of 'perf sched':
16 17 18 19 20 21 22

  'perf sched record <command>' to record the scheduling events
  of an arbitrary workload.

  'perf sched latency' to report the per task scheduling latencies
  and other scheduling properties of the workload.

23 24
  'perf sched script' to see a detailed trace of the workload that
   was recorded (aliased to 'perf script' for now).
25 26 27 28 29

  'perf sched replay' to simulate the workload that was recorded
  via perf sched record. (this is done by starting up mockup threads
  that mimic the workload based on the events in the trace. These
  threads can then replay the timings (CPU runtime and sleep patterns)
R
Randy Dunlap 已提交
30
  of the workload as it occurred when it was recorded - and can repeat
31
  it a number of times, measuring its performance.)
I
Ingo Molnar 已提交
32

33 34 35 36 37 38
  'perf sched map' to print a textual context-switching outline of
  workload captured via perf sched record.  Columns stand for
  individual CPUs, and the two-letter shortcuts stand for tasks that
  are running on a CPU. A '*' denotes the CPU that had the event, and
  a dot signals an idle CPU.

39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
  'perf sched timehist' provides an analysis of scheduling events.
    
    Example usage:
        perf sched record -- sleep 1
        perf sched timehist
    
   By default it shows the individual schedule events, including the wait
   time (time between sched-out and next sched-in events for the task), the
   task scheduling delay (time between wakeup and actually running) and run
   time for the task:
    
                time    cpu  task name             wait time  sch delay   run time
                             [tid/pid]                (msec)     (msec)     (msec)
      -------------- ------  --------------------  ---------  ---------  ---------
        79371.874569 [0011]  gcc[31949]                0.014      0.000      1.148
        79371.874591 [0010]  gcc[31951]                0.000      0.000      0.024
        79371.874603 [0010]  migration/10[59]          3.350      0.004      0.011
        79371.874604 [0011]  <idle>                    1.148      0.000      0.035
        79371.874723 [0005]  <idle>                    0.016      0.000      1.383
        79371.874746 [0005]  gcc[31949]                0.153      0.078      0.022
    ...
    
   Times are in msec.usec.

I
Ingo Molnar 已提交
63 64
OPTIONS
-------
65 66
-i::
--input=<file>::
67
        Input file name. (default: perf.data unless stdin is a fifo)
68 69 70 71 72

-v::
--verbose::
        Be more verbose. (show symbol address, etc)

I
Ingo Molnar 已提交
73 74 75 76
-D::
--dump-raw-trace=::
        Display verbose dump of the sched data.

77 78 79 80 81 82 83
OPTIONS for 'perf sched map'
----------------------------

--compact::
	Show only CPUs with activity. Helps visualizing on high core
	count systems.

84 85 86
--cpus::
	Show just entries with activities for the given CPUs.

J
Jiri Olsa 已提交
87 88 89
--color-cpus::
	Highlight the given cpus.

J
Jiri Olsa 已提交
90 91 92
--color-pids::
	Highlight the given pids.

93 94 95 96 97 98 99 100 101
OPTIONS for 'perf sched timehist'
---------------------------------
-k::
--vmlinux=<file>::
    vmlinux pathname

--kallsyms=<file>::
    kallsyms pathname

102 103 104 105 106 107 108
-g::
--no-call-graph::
	Do not display call chains if present.

--max-stack::
	Maximum number of functions to display in backtrace, default 5.

109 110 111 112 113 114 115 116 117 118 119 120 121
-s::
--summary::
    Show only a summary of scheduling by thread with min, max, and average
    run times (in sec) and relative stddev.

-S::
--with-summary::
    Show all scheduling events followed by a summary by thread with min,
    max, and average run times (in sec) and relative stddev.

--symfs=<directory>::
    Look for files with symbols relative to this directory.

122 123 124 125 126
-V::
--cpu-visual::
	Show visual aid for sched switches by CPU: 'i' marks idle time,
	's' are scheduler events.

127 128 129 130
-w::
--wakeups::
	Show wakeup events.

131 132 133 134
-M::
--migrations::
	Show migration events.

I
Ingo Molnar 已提交
135 136 137
SEE ALSO
--------
linkperf:perf-record[1]