| Zhang, Yanmin | a1645ce | 2010-04-19 13:32:50 +0800 | [diff] [blame] | 1 | perf-kvm(1) | 
| William Cohen | cfadf9d | 2010-04-23 16:36:21 -0400 | [diff] [blame] | 2 | =========== | 
| Zhang, Yanmin | a1645ce | 2010-04-19 13:32:50 +0800 | [diff] [blame] | 3 |  | 
|  | 4 | NAME | 
|  | 5 | ---- | 
|  | 6 | perf-kvm - Tool to trace/measure kvm guest os | 
|  | 7 |  | 
|  | 8 | SYNOPSIS | 
|  | 9 | -------- | 
|  | 10 | [verse] | 
|  | 11 | 'perf kvm' [--host] [--guest] [--guestmount=<path> | 
|  | 12 | [--guestkallsyms=<path> --guestmodules=<path> | --guestvmlinux=<path>]] | 
|  | 13 | {top|record|report|diff|buildid-list} | 
|  | 14 | 'perf kvm' [--host] [--guest] [--guestkallsyms=<path> --guestmodules=<path> | 
|  | 15 | | --guestvmlinux=<path>] {top|record|report|diff|buildid-list} | 
|  | 16 |  | 
|  | 17 | DESCRIPTION | 
|  | 18 | ----------- | 
|  | 19 | There are a couple of variants of perf kvm: | 
|  | 20 |  | 
|  | 21 | 'perf kvm [options] top <command>' to generates and displays | 
|  | 22 | a performance counter profile of guest os in realtime | 
|  | 23 | of an arbitrary workload. | 
|  | 24 |  | 
| Shawn Bohrer | 5c0ef0a | 2010-11-30 19:57:13 -0600 | [diff] [blame] | 25 | 'perf kvm record <command>' to record the performance counter profile | 
| Zhang, Yanmin | a1645ce | 2010-04-19 13:32:50 +0800 | [diff] [blame] | 26 | of an arbitrary workload and save it into a perf data file. If both | 
|  | 27 | --host and --guest are input, the perf data file name is perf.data.kvm. | 
|  | 28 | If there is  no --host but --guest, the file name is perf.data.guest. | 
|  | 29 | If there is no --guest but --host, the file name is perf.data.host. | 
|  | 30 |  | 
|  | 31 | 'perf kvm report' to display the performance counter profile information | 
|  | 32 | recorded via perf kvm record. | 
|  | 33 |  | 
|  | 34 | 'perf kvm diff' to displays the performance difference amongst two perf.data | 
|  | 35 | files captured via perf record. | 
|  | 36 |  | 
|  | 37 | 'perf kvm buildid-list' to  display the buildids found in a perf data file, | 
|  | 38 | so that other tools can be used to fetch packages with matching symbol tables | 
|  | 39 | for use by perf report. | 
|  | 40 |  | 
|  | 41 | OPTIONS | 
|  | 42 | ------- | 
| Shawn Bohrer | 5c0ef0a | 2010-11-30 19:57:13 -0600 | [diff] [blame] | 43 | -i:: | 
|  | 44 | --input=:: | 
|  | 45 | Input file name. | 
|  | 46 | -o:: | 
|  | 47 | --output:: | 
|  | 48 | Output file name. | 
| Zhang, Yanmin | a1645ce | 2010-04-19 13:32:50 +0800 | [diff] [blame] | 49 | --host=:: | 
| William Cohen | cfadf9d | 2010-04-23 16:36:21 -0400 | [diff] [blame] | 50 | Collect host side performance profile. | 
| Zhang, Yanmin | a1645ce | 2010-04-19 13:32:50 +0800 | [diff] [blame] | 51 | --guest=:: | 
| William Cohen | cfadf9d | 2010-04-23 16:36:21 -0400 | [diff] [blame] | 52 | Collect guest side performance profile. | 
| Zhang, Yanmin | a1645ce | 2010-04-19 13:32:50 +0800 | [diff] [blame] | 53 | --guestmount=<path>:: | 
|  | 54 | Guest os root file system mount directory. Users mounts guest os | 
|  | 55 | root directories under <path> by a specific filesystem access method, | 
|  | 56 | typically, sshfs. For example, start 2 guest os. The one's pid is 8888 | 
|  | 57 | and the other's is 9999. | 
|  | 58 | #mkdir ~/guestmount; cd ~/guestmount | 
|  | 59 | #sshfs -o allow_other,direct_io -p 5551 localhost:/ 8888/ | 
|  | 60 | #sshfs -o allow_other,direct_io -p 5552 localhost:/ 9999/ | 
|  | 61 | #perf kvm --host --guest --guestmount=~/guestmount top | 
|  | 62 | --guestkallsyms=<path>:: | 
|  | 63 | Guest os /proc/kallsyms file copy. 'perf' kvm' reads it to get guest | 
|  | 64 | kernel symbols. Users copy it out from guest os. | 
|  | 65 | --guestmodules=<path>:: | 
|  | 66 | Guest os /proc/modules file copy. 'perf' kvm' reads it to get guest | 
|  | 67 | kernel module information. Users copy it out from guest os. | 
|  | 68 | --guestvmlinux=<path>:: | 
|  | 69 | Guest os kernel vmlinux. | 
|  | 70 |  | 
|  | 71 | SEE ALSO | 
|  | 72 | -------- | 
| William Cohen | cfadf9d | 2010-04-23 16:36:21 -0400 | [diff] [blame] | 73 | linkperf:perf-top[1], linkperf:perf-record[1], linkperf:perf-report[1], | 
|  | 74 | linkperf:perf-diff[1], linkperf:perf-buildid-list[1] |