Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 1 | perf-kmem(1) |
Arnaldo Carvalho de Melo | 4778e0e | 2010-05-05 11:23:27 -0300 | [diff] [blame] | 2 | ============ |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 3 | |
| 4 | NAME |
| 5 | ---- |
Namhyung Kim | 0d68bc9 | 2015-04-06 14:36:10 +0900 | [diff] [blame] | 6 | perf-kmem - Tool to trace/measure kernel memory properties |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 7 | |
| 8 | SYNOPSIS |
| 9 | -------- |
| 10 | [verse] |
Ian Rogers | f792cf8 | 2021-09-22 14:20:31 -0700 | [diff] [blame] | 11 | 'perf kmem' [<options>] {record|stat} |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 12 | |
| 13 | DESCRIPTION |
| 14 | ----------- |
Li Zefan | 90b86a9 | 2009-12-10 15:21:57 +0800 | [diff] [blame] | 15 | There are two variants of perf kmem: |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 16 | |
Ian Rogers | f792cf8 | 2021-09-22 14:20:31 -0700 | [diff] [blame] | 17 | 'perf kmem [<options>] record [<perf-record-options>] <command>' to |
| 18 | record the kmem events of an arbitrary workload. Additional 'perf |
| 19 | record' options may be specified after record, such as '-o' to |
| 20 | change the output file name. |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 21 | |
Ian Rogers | f792cf8 | 2021-09-22 14:20:31 -0700 | [diff] [blame] | 22 | 'perf kmem [<options>] stat' to report kernel memory statistics. |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 23 | |
| 24 | OPTIONS |
| 25 | ------- |
| 26 | -i <file>:: |
| 27 | --input=<file>:: |
Ian Rogers | f792cf8 | 2021-09-22 14:20:31 -0700 | [diff] [blame] | 28 | For stat, select the input file (default: perf.data unless stdin is a |
| 29 | fifo) |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 30 | |
Sangwon Hong | 577980a | 2018-02-12 05:38:36 +0900 | [diff] [blame] | 31 | -f:: |
| 32 | --force:: |
| 33 | Don't do ownership validation |
| 34 | |
Namhyung Kim | bd72a33 | 2015-03-12 16:32:47 +0900 | [diff] [blame] | 35 | -v:: |
| 36 | --verbose:: |
| 37 | Be more verbose. (show symbol address, etc) |
| 38 | |
Li Zefan | 90b86a9 | 2009-12-10 15:21:57 +0800 | [diff] [blame] | 39 | --caller:: |
| 40 | Show per-callsite statistics |
| 41 | |
| 42 | --alloc:: |
| 43 | Show per-allocation statistics |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 44 | |
| 45 | -s <key[,key2...]>:: |
| 46 | --sort=<key[,key2...]>:: |
Namhyung Kim | fb4f313 | 2015-04-21 13:55:03 +0900 | [diff] [blame] | 47 | Sort the output (default: 'frag,hit,bytes' for slab and 'bytes,hit' |
| 48 | for page). Available sort keys are 'ptr, callsite, bytes, hit, |
| 49 | pingpong, frag' for slab and 'page, callsite, bytes, hit, order, |
| 50 | migtype, gfp' for page. This option should be preceded by one of the |
| 51 | mode selection options - i.e. --slab, --page, --alloc and/or --caller. |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 52 | |
| 53 | -l <num>:: |
| 54 | --line=<num>:: |
| 55 | Print n lines only |
| 56 | |
| 57 | --raw-ip:: |
| 58 | Print raw ip instead of symbol |
| 59 | |
Namhyung Kim | 0d68bc9 | 2015-04-06 14:36:10 +0900 | [diff] [blame] | 60 | --slab:: |
| 61 | Analyze SLAB allocator events. |
| 62 | |
| 63 | --page:: |
| 64 | Analyze page allocator events |
| 65 | |
Namhyung Kim | 2a7ef02 | 2015-04-21 13:55:04 +0900 | [diff] [blame] | 66 | --live:: |
| 67 | Show live page stat. The perf kmem shows total allocation stat by |
| 68 | default, but this option shows live (currently allocated) pages |
| 69 | instead. (This option works with --page option only) |
| 70 | |
Sangwon Hong | 577980a | 2018-02-12 05:38:36 +0900 | [diff] [blame] | 71 | --time=<start>,<stop>:: |
David Ahern | 2a865bd | 2016-11-29 10:15:45 -0700 | [diff] [blame] | 72 | Only analyze samples within given time window: <start>,<stop>. Times |
| 73 | have the format seconds.microseconds. If start is not given (i.e., time |
| 74 | string is ',x.y') then analysis starts at the beginning of the file. If |
| 75 | stop time is not given (i.e, time string is 'x.y,') then analysis goes |
| 76 | to end of file. |
| 77 | |
Li Zefan | b23d576 | 2009-11-24 13:27:11 +0800 | [diff] [blame] | 78 | SEE ALSO |
| 79 | -------- |
| 80 | linkperf:perf-record[1] |