qemu 基本命令

本文详细介绍了QEMU的基本命令,包括安装卸载、镜像管理、调试方法以及内存和设备的DEBUG开关。通过qemu-kvm命令查看支持的机器类型,使用qemu-img创建和调整镜像大小,开启IDE设备和SeaBIOS的DEBUG选项,以及利用gdb进行核心文件的调试。此外,还提供了获取QEMU进程PID和监控内存使用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【原创】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

QemuXML - file /etc/libvirt/qemu/*.xml and /var/run/libvirt/qemu/*.xml — insights-core 3.0.8 documentationhttps://insights-core.readthedocs.io/en/latest/shared_parsers_catalog/qemu_xml.html

【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}'

QEMU-KVM 是一种基于 QEMU 的全虚拟化解决方案,它利用 KVM(Kernel-based Virtual Machine)内核模块提供硬件加速功能,使得虚拟机性能接近原生环境。通过 `qemu-system-*` 命令结合 KVM 模块,可以快速创建并运行虚拟机。 以下是使用 `qemu-kvm` 创建虚拟机的基本步骤: ### 1. 安装依赖工具 首先需要安装必要的软件包,包括 QEMU 和 KVM: ```bash sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virt-manager -y ``` 检查是否支持硬件虚拟化: ```bash egrep -c '(vmx|svm)' /proc/cpuinfo # 如果返回值大于0,则说明支持KVM ``` 加载 KVM 内核模块: ```bash sudo modprobe kvm_intel # 对于Intel CPU sudo modprobe kvm_amd # 对于AMD CPU ``` 验证 KVM 是否正常工作: ```bash lsmod | grep kvm ``` --- ### 2. 准备磁盘镜像文件 #### 使用 qcow2 格式创建硬盘镜像: ```bash qemu-img create -f qcow2 ubuntu.qcow2 20G ``` 这将生成一个名为 `ubuntu.qcow2`、大小为 20GB 的虚拟磁盘文件。 #### 下载操作系统 ISO 文件作为引导源: 例如 Ubuntu 系统的 ISO 镜像可以从官网下载到本地路径 `/path/to/ubuntu.iso`。 --- ### 3. 启动虚拟机 以下是一个简单的启动命令示例: ```bash qemu-system-x86_64 \ -enable-kvm # 开启KVM硬件加速 -m 2048 # 分配内存大小 (单位MB) -cpu host # 虚拟CPU配置为主机相同的架构 -smp 2 # 设置vCPU核心数为2 -hda ubuntu.qcow2 # 加载之前创建的磁盘镜像 -cdrom /path/to/ubuntu.iso # 光驱加载ISO用于安装系统 -boot d # 从光驱启动(d表示cd-rom优先级最高) -vga virtio # 图形模式,默认启用VirtIO-GPU驱动 -netdev user,id=net0,hostfwd=tcp::2222-:22 -device virtio-net-pci,netdev=net0 # 添加网络设备,并端口转发主机2222->虚拟机SSH服务 -display sdl # 显示器选项(如sdl或gtk),如果无需图形界面可以用"-nographic" ``` > **注意**: 如果不需要图形界面,可以在最后添加 `-nographic` 参数以纯文本方式进行交互操作。 等待虚拟机完成初始化过程后即可开始使用新构建好的实例! --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值