qemu monitor
QEMU监控器(monitor)是QEMU实现与用户交互的一种控制台,一般用于为QEMU模拟器提供较为复杂的功能,包括为客户机添加和移除一些媒体镜像(如CD-ROM、磁盘镜像等),暂停和继续客户机的运行,快照的建立和删除,从磁盘文件中保存和恢复客户机状态,客户机动态迁移,查询客户机当前各种状态参数等。
(1) 重定向监视器控制台
-monitor dev
该参数的作用就是将monitor重定向到宿主机的dev设备上。
(2)dev设备的写法
-
vc 即虚拟控制台(Virtual Console),不加“-monitor”参数就会使用“-monitor vc”作为默认参数。而且,还可以用于指定monitor虚拟控制台的宽度和长度,如“vc:800x600”表示宽度、长度分别为800像素、600像素,“vc:80Cx24C”则表示宽度、长度分别为80个字符宽和24个字符长,这里的C代表字符(character)。注意,只有选择这个“vc”为“-monitor”的选项时,利用前面介绍的“Ctrl+Alt+2”组合键才能切换到monitor窗口,其他情况下不能用这个组合键。
-
/dev/xxx
使用宿主机的终端(tty),如“-monitor/dev/ttyS0”是将monitor重定向到宿主机的ttyS0串口上去,而且QEMU会根据QEMU模拟器的配置来自动设置该串口的一些参数。
-
null
空设备,表示不将monitor重定向到任何设备上,无论怎样也不能连接上monitor。
-
stdio
标准输入输出,不需要图形界面的支持。“-monitor stdio”将monitor重定向到当前命令行所在标准输入输出上,可以在运行qemu命令后直接默认连接到monitor中。
(3) 常用命令
-
help
-
info subcommand
info version
info kvm
info name
info status
info uuid
info cpus
info registers
info tlb
info mem
info numa
info mtree
info balloon
info pci
info qtree
info pci
info chardev
info network
info usb
info usbhost
info snapshots
info migrate
info roms
info vnc
info history
-
commit
提交修改部分的变化到磁盘镜像中,在使用了snapshot启动个参数的情况下。
或是提交变化部分到后端镜像文件中。
-
c 或者cont 恢复qemu模拟器继续工作。stop 暂停qemu 模拟器的命令
-
change 改变一个设备的配合。change vnc localhost:2 ,change vnc password
change ide1-cd0/path/to/some.iso
-
balloon
改变分配给客户机的内存大小。如“balloon 512”表示改变分配给客户机的内存大小为512 MB。
-
device_add 和device_del 动态添加和移除设备。
如
device_add pci-assin, host=02:00.0, id=mydev
device_del mydev
-
usb_add和usb_del
添加或移除一个USB设备,如“usb_add host:002.004”表示添加宿主机的002号USB总线中的004设备到客户机中,“usb_del 0.2”表示删除客户机中的某个USB设备。
-
savevm, loadvm, delvm
-
migrage, migrate_cancel
动态迁移和取消动态迁移
migrate tcp:des_ip:6666
表示动态迁移当前客户机到IP地址为“des_ip”的宿主机的TCP6666端口上去,而“migrate_cancel”则表示取消当前进行中的动态迁移过程
-
cpu index 设置默认的cpu为指定的数字
-
sendkey keys
发送按键
sendkey ctrl-alt-delete
ctrl-alt-f1
-
system_powerdown, system_reset, system_wakeup
system_powerdown向客户机发送关闭电源的时间通知。一般客户机会执行关机操作。
system_reset 让客户机系统重置,相当于直接拔掉电源,让后插上电源,按开机键开机。
system_wakeup将客户机从暂停状态(suspend)中唤醒
-
x和xp
x /fmt addr转存(dump)出从addr开始的虚拟内存地址。
xp /fmt addr转存出从addr开始的物理内存地址。
在上面两个命令中,fmt指定如何格式化输出转存出来的内存信息。
fmt格式的语法是:/{count}{format}{size}。其中,count表示被转存出来条目的数量,format可以是x(hex,十六进制)、d(有符号的十进制)、u(无符号的十进制)、o(八进制)、c(字符)、i(asm汇编指令),size可以是b(8位)、h(16位)、w(32位)、g(64位)。
另外,在x86架构体系下,format中的i可以根据实际指令长度自动设置size为h(16位)或w(32位)。x和xp这两个命令可以用于对客户机或者QEMU开发过程中的调试。
(4) 连接上monitor
-
rlwrap -C qmp socat STDIO UNIX:qmp socket 文件路径
或者
-
qmp-shell ./qmp-sock

浙公网安备 33010602011771号