78 lines
1.8 KiB
Text
78 lines
1.8 KiB
Text
|
perf-kmem(1)
|
||
|
============
|
||
|
|
||
|
NAME
|
||
|
----
|
||
|
perf-kmem - Tool to trace/measure kernel memory properties
|
||
|
|
||
|
SYNOPSIS
|
||
|
--------
|
||
|
[verse]
|
||
|
'perf kmem' {record|stat} [<options>]
|
||
|
|
||
|
DESCRIPTION
|
||
|
-----------
|
||
|
There are two variants of perf kmem:
|
||
|
|
||
|
'perf kmem record <command>' to record the kmem events
|
||
|
of an arbitrary workload.
|
||
|
|
||
|
'perf kmem stat' to report kernel memory statistics.
|
||
|
|
||
|
OPTIONS
|
||
|
-------
|
||
|
-i <file>::
|
||
|
--input=<file>::
|
||
|
Select the input file (default: perf.data unless stdin is a fifo)
|
||
|
|
||
|
-f::
|
||
|
--force::
|
||
|
Don't do ownership validation
|
||
|
|
||
|
-v::
|
||
|
--verbose::
|
||
|
Be more verbose. (show symbol address, etc)
|
||
|
|
||
|
--caller::
|
||
|
Show per-callsite statistics
|
||
|
|
||
|
--alloc::
|
||
|
Show per-allocation statistics
|
||
|
|
||
|
-s <key[,key2...]>::
|
||
|
--sort=<key[,key2...]>::
|
||
|
Sort the output (default: 'frag,hit,bytes' for slab and 'bytes,hit'
|
||
|
for page). Available sort keys are 'ptr, callsite, bytes, hit,
|
||
|
pingpong, frag' for slab and 'page, callsite, bytes, hit, order,
|
||
|
migtype, gfp' for page. This option should be preceded by one of the
|
||
|
mode selection options - i.e. --slab, --page, --alloc and/or --caller.
|
||
|
|
||
|
-l <num>::
|
||
|
--line=<num>::
|
||
|
Print n lines only
|
||
|
|
||
|
--raw-ip::
|
||
|
Print raw ip instead of symbol
|
||
|
|
||
|
--slab::
|
||
|
Analyze SLAB allocator events.
|
||
|
|
||
|
--page::
|
||
|
Analyze page allocator events
|
||
|
|
||
|
--live::
|
||
|
Show live page stat. The perf kmem shows total allocation stat by
|
||
|
default, but this option shows live (currently allocated) pages
|
||
|
instead. (This option works with --page option only)
|
||
|
|
||
|
--time=<start>,<stop>::
|
||
|
Only analyze samples within given time window: <start>,<stop>. Times
|
||
|
have the format seconds.microseconds. If start is not given (i.e., time
|
||
|
string is ',x.y') then analysis starts at the beginning of the file. If
|
||
|
stop time is not given (i.e, time string is 'x.y,') then analysis goes
|
||
|
to end of file.
|
||
|
|
||
|
SEE ALSO
|
||
|
--------
|
||
|
linkperf:perf-record[1]
|