1*4882a593Smuzhiyunperf-kmem(1) 2*4882a593Smuzhiyun============ 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunNAME 5*4882a593Smuzhiyun---- 6*4882a593Smuzhiyunperf-kmem - Tool to trace/measure kernel memory properties 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunSYNOPSIS 9*4882a593Smuzhiyun-------- 10*4882a593Smuzhiyun[verse] 11*4882a593Smuzhiyun'perf kmem' {record|stat} [<options>] 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunDESCRIPTION 14*4882a593Smuzhiyun----------- 15*4882a593SmuzhiyunThere are two variants of perf kmem: 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun 'perf kmem record <command>' to record the kmem events 18*4882a593Smuzhiyun of an arbitrary workload. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun 'perf kmem stat' to report kernel memory statistics. 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunOPTIONS 23*4882a593Smuzhiyun------- 24*4882a593Smuzhiyun-i <file>:: 25*4882a593Smuzhiyun--input=<file>:: 26*4882a593Smuzhiyun Select the input file (default: perf.data unless stdin is a fifo) 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun-f:: 29*4882a593Smuzhiyun--force:: 30*4882a593Smuzhiyun Don't do ownership validation 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun-v:: 33*4882a593Smuzhiyun--verbose:: 34*4882a593Smuzhiyun Be more verbose. (show symbol address, etc) 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun--caller:: 37*4882a593Smuzhiyun Show per-callsite statistics 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun--alloc:: 40*4882a593Smuzhiyun Show per-allocation statistics 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun-s <key[,key2...]>:: 43*4882a593Smuzhiyun--sort=<key[,key2...]>:: 44*4882a593Smuzhiyun Sort the output (default: 'frag,hit,bytes' for slab and 'bytes,hit' 45*4882a593Smuzhiyun for page). Available sort keys are 'ptr, callsite, bytes, hit, 46*4882a593Smuzhiyun pingpong, frag' for slab and 'page, callsite, bytes, hit, order, 47*4882a593Smuzhiyun migtype, gfp' for page. This option should be preceded by one of the 48*4882a593Smuzhiyun mode selection options - i.e. --slab, --page, --alloc and/or --caller. 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun-l <num>:: 51*4882a593Smuzhiyun--line=<num>:: 52*4882a593Smuzhiyun Print n lines only 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun--raw-ip:: 55*4882a593Smuzhiyun Print raw ip instead of symbol 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun--slab:: 58*4882a593Smuzhiyun Analyze SLAB allocator events. 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun--page:: 61*4882a593Smuzhiyun Analyze page allocator events 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun--live:: 64*4882a593Smuzhiyun Show live page stat. The perf kmem shows total allocation stat by 65*4882a593Smuzhiyun default, but this option shows live (currently allocated) pages 66*4882a593Smuzhiyun instead. (This option works with --page option only) 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun--time=<start>,<stop>:: 69*4882a593Smuzhiyun Only analyze samples within given time window: <start>,<stop>. Times 70*4882a593Smuzhiyun have the format seconds.microseconds. If start is not given (i.e., time 71*4882a593Smuzhiyun string is ',x.y') then analysis starts at the beginning of the file. If 72*4882a593Smuzhiyun stop time is not given (i.e, time string is 'x.y,') then analysis goes 73*4882a593Smuzhiyun to end of file. 74*4882a593Smuzhiyun 75*4882a593SmuzhiyunSEE ALSO 76*4882a593Smuzhiyun-------- 77*4882a593Smuzhiyunlinkperf:perf-record[1] 78