1*4882a593Smuzhiyunperf-mem(1) 2*4882a593Smuzhiyun=========== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunNAME 5*4882a593Smuzhiyun---- 6*4882a593Smuzhiyunperf-mem - Profile memory accesses 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunSYNOPSIS 9*4882a593Smuzhiyun-------- 10*4882a593Smuzhiyun[verse] 11*4882a593Smuzhiyun'perf mem' [<options>] (record [<command>] | report) 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunDESCRIPTION 14*4882a593Smuzhiyun----------- 15*4882a593Smuzhiyun"perf mem record" runs a command and gathers memory operation data 16*4882a593Smuzhiyunfrom it, into perf.data. Perf record options are accepted and are passed through. 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun"perf mem report" displays the result. It invokes perf report with the 19*4882a593Smuzhiyunright set of options to display a memory access profile. By default, loads 20*4882a593Smuzhiyunand stores are sampled. Use the -t option to limit to loads or stores. 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunNote that on Intel systems the memory latency reported is the use-latency, 23*4882a593Smuzhiyunnot the pure load (or store latency). Use latency includes any pipeline 24*4882a593Smuzhiyunqueueing delays in addition to the memory subsystem latency. 25*4882a593Smuzhiyun 26*4882a593SmuzhiyunOPTIONS 27*4882a593Smuzhiyun------- 28*4882a593Smuzhiyun<command>...:: 29*4882a593Smuzhiyun Any command you can specify in a shell. 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun-i:: 32*4882a593Smuzhiyun--input=<file>:: 33*4882a593Smuzhiyun Input file name. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun-f:: 36*4882a593Smuzhiyun--force:: 37*4882a593Smuzhiyun Don't do ownership validation 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun-t:: 40*4882a593Smuzhiyun--type=<type>:: 41*4882a593Smuzhiyun Select the memory operation type: load or store (default: load,store) 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun-D:: 44*4882a593Smuzhiyun--dump-raw-samples:: 45*4882a593Smuzhiyun Dump the raw decoded samples on the screen in a format that is easy to parse with 46*4882a593Smuzhiyun one sample per line. 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun-x:: 49*4882a593Smuzhiyun--field-separator=<separator>:: 50*4882a593Smuzhiyun Specify the field separator used when dump raw samples (-D option). By default, 51*4882a593Smuzhiyun The separator is the space character. 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun-C:: 54*4882a593Smuzhiyun--cpu=<cpu>:: 55*4882a593Smuzhiyun Monitor only on the list of CPUs provided. Multiple CPUs can be provided as a 56*4882a593Smuzhiyun comma-separated list with no space: 0,1. Ranges of CPUs are specified with -: 0-2. Default 57*4882a593Smuzhiyun is to monitor all CPUS. 58*4882a593Smuzhiyun-U:: 59*4882a593Smuzhiyun--hide-unresolved:: 60*4882a593Smuzhiyun Only display entries resolved to a symbol. 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun-p:: 63*4882a593Smuzhiyun--phys-data:: 64*4882a593Smuzhiyun Record/Report sample physical addresses 65*4882a593Smuzhiyun 66*4882a593SmuzhiyunRECORD OPTIONS 67*4882a593Smuzhiyun-------------- 68*4882a593Smuzhiyun-e:: 69*4882a593Smuzhiyun--event <event>:: 70*4882a593Smuzhiyun Event selector. Use 'perf mem record -e list' to list available events. 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun-K:: 73*4882a593Smuzhiyun--all-kernel:: 74*4882a593Smuzhiyun Configure all used events to run in kernel space. 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun-U:: 77*4882a593Smuzhiyun--all-user:: 78*4882a593Smuzhiyun Configure all used events to run in user space. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun-v:: 81*4882a593Smuzhiyun--verbose:: 82*4882a593Smuzhiyun Be more verbose (show counter open errors, etc) 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun--ldlat <n>:: 85*4882a593Smuzhiyun Specify desired latency for loads event. (x86 only) 86*4882a593Smuzhiyun 87*4882a593SmuzhiyunIn addition, for report all perf report options are valid, and for record 88*4882a593Smuzhiyunall perf record options. 89*4882a593Smuzhiyun 90*4882a593SmuzhiyunSEE ALSO 91*4882a593Smuzhiyun-------- 92*4882a593Smuzhiyunlinkperf:perf-record[1], linkperf:perf-report[1] 93