Chapter 2. Performance Monitoring Tools
2.1. perf kvm
perf command with the kvm option to collect and analyze guest operating system statistics from the host. The perf package provides the perf command. It is installed by running the following command:
# yum install perf
perf kvm in the host, you must have access to the /proc/modules and /proc/kallsyms files from the guest. See Procedure 2.1, “Copying /proc files from guest to host” to transfer the files into the host and run reports on the files.
Procedure 2.1. Copying /proc files from guest to host
Important
scp) you will only copy files of zero length. This procedure describes how to first save the files in the guest to a temporary location (with the cat command), and then copy them to the host for use by perf kvm.
Log in to the guest and save files
Log in to the guest and save/proc/modulesand/proc/kallsymsto a temporary location,/tmp:# cat /proc/modules > /tmp/modules # cat /proc/kallsyms > /tmp/kallsyms
Copy the temporary files to the host
Once you have logged off from the guest, run the following examplescpcommands to copy the saved files to the host. You should substitute your host name and TCP port if they are different:# scp root@GuestMachine:/tmp/kallsyms guest-kallsyms # scp root@GuestMachine:/tmp/modules guest-modules
You now have two files from the guest (guest-kallsymsandguest-modules) on the host, ready for use byperf kvm.Recording and reporting events with perf kvm
Using the files obtained in the previous steps, recording and reporting of events in the guest, the host, or both is now possible.Run the following example command:# perf kvm --host --guest --guestkallsyms=guest-kallsyms \ --guestmodules=guest-modules record -a -o perf.data
Note
If both --host and --guest are used in the command, output will be stored inperf.data.kvm. If only --host is used, the file will be namedperf.data.host. Similarly, if only --guest is used, the file will be namedperf.data.guest.Pressing Ctrl-C stops recording.Reporting events
The following example command uses the file obtained by the recording process, and redirects the output into a new file,analyze.perf kvm --host --guest --guestmodules=guest-modules report -i perf.data.kvm \ --force > analyze
View the contents of theanalyzefile to examine the recorded events:# cat analyze# Events: 7K cycles # # Overhead Command Shared Object Symbol # ........ ............ ................. ......................... # 95.06% vi vi [.] 0x48287 0.61% init [kernel.kallsyms] [k] intel_idle 0.36% vi libc-2.12.so [.] _wordcopy_fwd_aligned 0.32% vi libc-2.12.so [.] __strlen_sse42 0.14% swapper [kernel.kallsyms] [k] intel_idle 0.13% init [kernel.kallsyms] [k] uhci_irq 0.11% perf [kernel.kallsyms] [k] generic_exec_single 0.11% init [kernel.kallsyms] [k] tg_shares_up 0.10% qemu-kvm [kernel.kallsyms] [k] tg_shares_up [output truncated...]

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.