perf-kmem(1)
============

NAME
----
perf-kmem - Tool to trace/measure kernel memory properties

SYNOPSIS
--------
[verse]
'perf kmem' [<options>] {record|stat}

DESCRIPTION
-----------
There are two variants of perf kmem:

  'perf kmem [<options>] record [<perf-record-options>] <command>' to
  record the kmem events of an arbitrary workload. Additional 'perf
  record' options may be specified after record, such as '-o' to
  change the output file name.

  'perf kmem [<options>] stat' to report kernel memory statistics.

OPTIONS
-------
-i <file>::
--input=<file>::
	For stat, 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]
