| 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 |  | 
|  | 25 | 'perf kvm record <command>' to record the performance couinter profile | 
|  | 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 | ------- | 
|  | 43 | --host=:: | 
| William Cohen | cfadf9d | 2010-04-23 16:36:21 -0400 | [diff] [blame] | 44 | Collect host side performance profile. | 
| Zhang, Yanmin | a1645ce | 2010-04-19 13:32:50 +0800 | [diff] [blame] | 45 | --guest=:: | 
| William Cohen | cfadf9d | 2010-04-23 16:36:21 -0400 | [diff] [blame] | 46 | Collect guest side performance profile. | 
| Zhang, Yanmin | a1645ce | 2010-04-19 13:32:50 +0800 | [diff] [blame] | 47 | --guestmount=<path>:: | 
|  | 48 | Guest os root file system mount directory. Users mounts guest os | 
|  | 49 | root directories under <path> by a specific filesystem access method, | 
|  | 50 | typically, sshfs. For example, start 2 guest os. The one's pid is 8888 | 
|  | 51 | and the other's is 9999. | 
|  | 52 | #mkdir ~/guestmount; cd ~/guestmount | 
|  | 53 | #sshfs -o allow_other,direct_io -p 5551 localhost:/ 8888/ | 
|  | 54 | #sshfs -o allow_other,direct_io -p 5552 localhost:/ 9999/ | 
|  | 55 | #perf kvm --host --guest --guestmount=~/guestmount top | 
|  | 56 | --guestkallsyms=<path>:: | 
|  | 57 | Guest os /proc/kallsyms file copy. 'perf' kvm' reads it to get guest | 
|  | 58 | kernel symbols. Users copy it out from guest os. | 
|  | 59 | --guestmodules=<path>:: | 
|  | 60 | Guest os /proc/modules file copy. 'perf' kvm' reads it to get guest | 
|  | 61 | kernel module information. Users copy it out from guest os. | 
|  | 62 | --guestvmlinux=<path>:: | 
|  | 63 | Guest os kernel vmlinux. | 
|  | 64 |  | 
|  | 65 | SEE ALSO | 
|  | 66 | -------- | 
| William Cohen | cfadf9d | 2010-04-23 16:36:21 -0400 | [diff] [blame] | 67 | linkperf:perf-top[1], linkperf:perf-record[1], linkperf:perf-report[1], | 
|  | 68 | linkperf:perf-diff[1], linkperf:perf-buildid-list[1] |