Linux 虚拟机性能监控

时间:2021-04-29 09:14:16

性能监控工具

perf kvm

为了在主机中使用perf kvm,您必须访问/ proc / modules和
/ proc / kallsyms文件。“复制/ proc文件从guest虚拟机到主机“,以将文件传输到主机并对文件运行报告。

注意:

如果直接复制所需的文件(例如,使用scp),您将只复制零的文件
长度。 此过程描述如何首先将guest虚拟机中的文件保存到临时位置
(使用cat命令),然后将它们复制到主机以供perf kvm使用。

在Guest系统上执行:

# cat /proc/modules > /tmp/modules

# cat /proc/kallsyms > /tmp/kallsyms

# scp root@GuestMachine:/tmp/kallsyms guest-kallsyms

# scp root@GuestMachine:/tmp/modules guest-modules

您现在有两个文件来自guest(guest-kallsyms和guest-modules),准备由perf kvm使用。

在Host中执行:

# perf kvm --host --guest --guestkallsyms=guest-kallsyms \ --guestmodules=guest-modules record -a -o perf.data

perf --host和--guest在命令中使用,输出将被存储
perf.data.kvm。 如果仅使用--host,则文件将命名为perf.data.host。
同样,如果只使用--guest,文件将被命名为perf.data.guest。

报告事件
以下示例命令使用通过记录过程获得的文件,和
将输出重定向到新文件中,进行分析。

perf kvm --host --guest --guestmodules=guest-modules report -i perf.data.kvm \ --force > analyze

查看分析文件的内容以检查记录的事件:

cat analyze

Linux 虚拟机性能监控

虚拟性能监控单元(PMU)

虚拟性能监视单元(vPMU)显示指示客户虚拟机的方式的统计信息
机器运行。
虚拟性能监视单元允许用户识别可能性能的来源
客户虚拟机中的问题。 vPMU基于英特尔的PMU(性能监控)
单位),并且只能在英特尔机器上使用。
只有运行Red Hat Enterprise Linux 6或Red的客户虚拟机才支持此功能
Hat Enterprise Linux 7,并且默认情况下禁用。
要验证系统是否支持vPMU,请检查主机CPU上的arch_perfmon标志
通过运行:

# cat /proc/cpuinfo|grep arch_perfmon

要启用vPMU,请在guest虚拟机XML中将cpu模式指定为host-passthrough:

# virsh dumpxml guest_name |grep "cpu mode"

<cpu mode='host-passthrough'>

启用vPMU后,通过在虚拟机中运行perf来显示虚拟机的性能统计信息