CPU配置
在QEMU中,“-smp
”参数是为了配置客户机的SMP系统。
在命令行中,关于配置SMP系统的参数如下:
-smp [cpus=]n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]
主要参数说明:
- cpus用来设置客户机中使用的逻辑CPU的数量(默认值是1);
- maxcpus用来设置客户机的最大CPU的数量;
最多支持255个CPU,包含启动时处于下线状态的CPU数目;
- cores用来设置在一个socket上CPU core的数量;
- threads用来设置在一个CPU core上线程的数量;
- sockets用来设置客户机中看到的总socket的数量。
下面通过几个命令行例子来演示一下如何在客户机中使用SMP技术。
例1:不加smp参数,使用其默认值1,模拟了只有一个逻辑CPU的客户机系统。
qemu-system-x86_64 ubuntu14.04.img -vnc :1 -monitor stdio
在宿主机qemu monitor
中,可以使用“info cpus
”命令看到客户机中CPU状态:
从上面的输出可以看出,只有一个CPU,线程的ID是86374。
在宿主机
中,可以使用ps
命令来查看QEMU进程和线程:
ps -efL|grep qemu
ps命令主要用于监控后台进程的工作情况:
-e参数指定选择所有进程和环境变量;
-f参数指定选择打印出完全的各列;
-L参数指定打印出线程的ID和线程的个数;
ps -efL|head -1
“PID”表示进程的ID;
“PPID”表示父进程的ID;
“lwp”表示线程的ID;
“CMD”表示命令;
从上面的输出可以看出,客户机的进程ID是86371,它产生了一个线程作为客户机的vCPU运行在宿主机中,这个线程ID是86374。
在客户机
中,可以使用ls
命令来查看CPU情况: