qemu命令行参数小结
CPU相关参数
(1) -cpu参数
-cpu help 查询cpu所支持的模型
-cpu qemu64,+avx在qemu64模型中添加对AVX特性的支持。
如果想将宿主机CPU特性尽可能多地暴露给虚拟机则直接配置为-cpu host
(2) -smp n,[cores=cores][,threads=threads][,sockets=sockets]
设置客户机n个逻辑cpu,并设置其中CPU socket数量,每个socket上核心(core)的数量
每个核心上线程的数量。
其中 n = sockets * cores * threads
内存相关参数
(1) -m megs 参数
设置客户机内存大小为megs MB,默认单位为MB。
(2) -men-path path参数
主要使用为分配大页内存。
(3) -mem-prealloc
启动时即分配全部的内存,而不是根据客户机请求参数动态分配。与-men-path 一起使用。
(4) -balloon 开启内存气球的设置
-balloon virtio 为客户机提供virtio_balloon设置。
磁盘相关参数
(1) -had,-hab 和 -cdrom等参数
设置客户机的IDE磁盘和光盘设备。如 -hda rhel6u3.img。 将该镜像作为客户机的第一个IDE磁盘使用。
(2) -drive 参数
设置一个磁盘驱动器。
(3) -boot 设置客户机启动时的各种选项,包括启动顺序。
网络相关参数
(1) -net none
不需要任何网络设备则配置该参数。如果不配置-net选项,则系统默认为
-net nic-net user
(2) -net dump
转储dump出网络中的数据流量,之后可以用tcpdump或者wireshark工具分析
(3) -net tap 或者 -net tap/bridge参数
使用宿主机的TAP网络接口来帮助客户机建立网络。使用网桥连接和NAT模式网络的客户机都会
使用到 -net tap 参数。
如 "-net nic-net tap, ifname=tap1, script=/etc/qemu-ifup"
(4) -net user 或者 -netdev user
让客户机使用不需要管理员权限的用户模式网络(user mode network),如
"-net nic-net user"
图形显示相关的参数
(1) -sdl 参数
使用SDL方式显示客户机。如果在QEMU编译时已经将SDL的支持编译进去,则qemu命令在默
认情况下,不加-SDL 也会使用SDL方式来显示客户机。
(2) -vnc
使用vnc方式显示客户机。只有在进行qemu编译时没有添加SDL支持,但是编译了VNC相关的支持,才会默认开启VNC方式。在有SDL支持对的QEMU中,需要使用 "-vnc" 参数来让客户机
显示在vnc中,如 "-vnc localhost : 2"。客户机连接方式为 "vncviewer localhost 2".
(3)-vga
设置客户机中VGA显卡类型,默认值为 "-vga cirrus"。默认会为客户机模拟出
"cirrus logic GD5446" 显卡。可以使用 "-vga std" 参数来模拟带有
Bochs VBE扩展的标准VGA显卡。而“-vga none”参数不为客户机分配VGA卡,
会让VNC或SDL中都没有任何显示。
(4) -nographic 参数
完全关闭QEMU的图形界面显示,从而让QEMU在该模式下完全成为简单的命令行工具。而
QEMU中模拟产生的串口被重定到当前的控制台(console)中。所以如果在客户机中对
其内核进行配置,从而让内核的控制台输出重定向到串口[插图]后,依然可以在
非图形模式下管理客户机系统。
配置方式为(内核启动参数添加如下参数 "console=tty0 console=ttyS0")