第 2 章 性能监控工具
本章论述了用于监控客户机虚拟机环境的工具。
2.1. perf kvm 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用 perf 命令和 kvm 选项从主机收集和分析客户机操作系统统计信息。perf 软件包提供 perf 命令。它通过运行以下命令来安装:
Copy to Clipboard
Copied!
Toggle word wrap
Toggle overflow
yum install perf
# yum install perf
要在主机中使用 perf kvm,您必须有权访问客户机中的
/proc/modules 和 /proc/kallsyms 文件。请参阅 过程 2.1, “将 /proc 文件从 guest 复制到主机”,将文件传送到主机中,并对文件运行报告。
过程 2.1. 将 /proc 文件从 guest 复制到主机
重要
如果您直接复制所需的文件(例如,使用 scp),您将只复制零长度的文件。这个步骤描述了如何先将客户机中的文件保存到临时位置(使用 cat 命令),然后将它们复制到主机,供 perf kvm 使用。
登录到客户端并保存文件
登录到客户端并将/proc/modules和/proc/kallsyms保存到临时位置/tmp中:cat /proc/modules > /tmp/modules cat /proc/kallsyms > /tmp/kallsyms
# cat /proc/modules > /tmp/modules # cat /proc/kallsyms > /tmp/kallsymsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将临时文件复制到主机
从 guest 注销后,运行以下命令的 scp 命令将保存的文件复制到主机。如果主机名和 TCP 端口不同,您应该替换它们:scp root@GuestMachine:/tmp/kallsyms guest-kallsyms scp root@GuestMachine:/tmp/modules guest-modules
# scp root@GuestMachine:/tmp/kallsyms guest-kallsyms # scp root@GuestMachine:/tmp/modules guest-modulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,主机上 guest(guest-kallsyms和guest-modules)有两个文件,可供 perf kvm 使用。使用 perf kvm 记录和报告事件
使用在前面的步骤中获取的文件,现在有可能记录和报告客户机、主机或两者中的事件。运行以下命令:perf kvm --host --guest --guestkallsyms=guest-kallsyms \ --guestmodules=guest-modules record -a -o perf.data
# perf kvm --host --guest --guestkallsyms=guest-kallsyms \ --guestmodules=guest-modules record -a -o perf.dataCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果命令中同时使用 --host 和 --guest,则输出将存储在perf.data.kvm中。如果只使用 --host,则该文件将命名为perf.data.host。同样,如果只使用 --guest,则该文件将命名为perf.data.guest。按 Ctrl-C 停止记录。报告事件
以下示例使用由记录进程获取的 文件,并将输出重定向到新文件,从而分析。perf kvm --host --guest --guestmodules=guest-modules report -i perf.data.kvm \ --force > analyze
perf kvm --host --guest --guestmodules=guest-modules report -i perf.data.kvm \ --force > analyzeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 查看分析文件的内容,以检查记录的事件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow