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] |