Hi all,

 

I have a question about NUMA.

User configured vNode(guest virtual numa node), but he didn’t configure cputune and numatune. Now we want to get the information that each vNode run in which pNode(host numa node). It’s run-time information that may be modified with high frequency.

In current Libvirt’s API, we can get the information that each vCpu running on which pCpu through virsh vcpuinfo(there should be a corresponding Libvirt API function). But we didn’t find any APIs to get the information that each vNode uses which pNode’s memory, or just each vCpu consumes which pNode’s memory.

We find a command “numastat -mcn -p qemu” that can get the memory consume data of each VM, but it still loses the information that we want(vNode memory consume data), as following:

# numastat -mcn -p qemu

 

Per-node process memory usage (in MBs)

PID              Node 0 Node 1 Total

---------------  ------ ------ -----

8900 (qemu-kvm)    2032     50  2083

17716 (qemu-kvm)   1546    663  2209

22484 (qemu-kvm)    621   1524  2146

29694 (qemu-kvm)    892   1350  2242

---------------  ------ ------ -----

Total              5092   3588  8680

………

 

My question is:

1.       In Libvirt, are there any ways that we can get our needed data?

2.       If no ways in Libvirt, do you have any other suggestions to collect the information?

 

Any feedbacks from you are appreciated.

Thanks & Best Regards

Shi, Xiao-Lei (Bruce)

 

Hewlett-Packard Co., Ltd.
HP Servers Core Platform Software China

Telephone +86 23 65683093

Mobile +86 18696583447

Email xiao-lei.shi@hp.com