如何在 virt-manager 等 KVM 中获取 vm 的 cpu 使用率? virt-manager 监控 vm cpu 使用情况
Libvirt 没有提供 API。
有谁知道如何从主机获取 vm cpu 使用情况?
如何在 virt-manager 等 KVM 中获取 vm 的 cpu 使用率? virt-manager 监控 vm cpu 使用情况
Libvirt 没有提供 API。
有谁知道如何从主机获取 vm cpu 使用情况?
如果您对服务器具有命令行访问权限,并且您有 virsh 命令,则可以使用它来获取统计信息。
有几个 dom* 子命令可以让您访问不同的东西:
domifstat domain interface-device
Get network interface stats for a running domain.
dommemstat domain [--period seconds] [[--config] [--live] | [--current]]
Get memory stats for a running domain.
domstats [--raw] [--enforce] [--backing] [--state] [--cpu-total] [--balloon] [--vcpu] [--interface] [--block]
[[--list-active] [--list-inactive] [--list-persistent] [--list-transient] [--list-running] [--list-paused]
[--list-shutoff] [--list-other]] | [domain ...]
Get statistics for multiple or all domains. Without any argument this command prints all available statistics for
all domains.
所以你可能会:
#virsh domstats --cpu-total server1
Domain: 'server1'
cpu.time=144940157444
cpu.user=65260000000
cpu.system=14450000000
通过轮询,您可以获得所需的数据。
阅读有关 virsh 的手册页以获取更多详细信息。
编辑:请注意,virsh 只是 libvirt api 的一个薄包装器——这些数据也可以通过 api 调用获得
如果您使用 c 或 c++,您可以尝试查看基于 C API 的 virDomainGetCPUStats。但是,如果您使用 Java,您将不会有太多的运气。