【原创】Linux虚拟化KVM-Qemu分析(四)之CPU虚拟化(2) - LoyenWang - 博客园
qemu和libvirt日志
/var/log/libvirt/qemu/
重装qemu-kvm和libvirt
sudo yum remove qemu-kvm
sudo yum install qemu-kvm
sudo yum remove libvirt
sudo yum install libvirt
sudo service libvirtd restart
xml位置:
QemuXML - file /etc/libvirt/qemu/*.xml¶
VarQemuXML - file /var/run/libvirt/qemu/*.xml
【qemu 命令】
支持的machine类型查看:
qemu-kvm -machine help
【qemu镜像命令qemu-img】
空镜像创建
qemu-img create -f raw /images/vm1.raw 8G
镜像扩容
qemu-img resize vm7 -50G
raw转qcow2
qemu-img convert -f raw centos.img -O qcow2 centos.qcow2
【qemu编译-debug开关】
IDE设备的DEBUG开关:
hw/ide/internal.h://#define DEBUG_IDE
hw/ide/internal.h://#define DEBUG_IDE_ATAPI
seabios的DEBUG开关:
cd roms/seabios
make menuconfig
【qemu core文件gdb调试】
gdb -c /Images/core/ core.xxxx_18644_1502919319 /usr/bin/xxx
或者
gdb
file qemu-kvm
set sysroot ./ //为了能搜索相对路径
core-file corexxx
set solib-search-path /usr/lib64/ //指定SO搜索路径
info sharedlibrary // 打印共享库当前运行的内存地址
【获取qemu的pid】
qemu_vmuuid = self.driver.compute_api.get_vmuuid(self.vm0)
qemu_pid = try_execute("cat /var/run/libvirt/qemu/" + qemu_vmuuid + ".pid").stdout
注:
qemu2.6,qemu-kvm以“/usr/bin/qemu-kvm -name ”+ uuid方式运行,
qemu2.8,qemu-kvm以“/usr/bin/qemu-kvm -name guest=”+ uuid方式运行
【qemu 内存】
内存使用:
numastat -c qemu-kvm
大页
cat /proc/$qemu_pid/numa_maps | grep hugepages | grep -Eo "N$i=[0-9]{1,10}" | awk -F= '{print $2}'
非大页
cat /proc/$qemu_pid/numa_maps | grep -Eo "N$i=[0-9]{1,10}" | awk -F= '{a+=$2}END{print a}'