您的位置:首页

kvm 虚拟化 SMP(对称多处理器)介绍及配置

2018-01-23 12:47 302 查看

一、SMP(对称多处理器)介绍

1)SMP简介

在计算机技术很普及和日益发达的今天,以 Intel、IBM 为代表的一些大公司推动着中央处理器(CPU)技术的飞速发展和更新换代。在如今计算机系统中,多处理器、多核、超线程等技术得到了广泛应用。

不管是在企业级和科研应用的server领域中;还是个人消费者使用的台式机、笔记本甚至仅仅能手机上,随处可见 SMP(Symmetric Multi-Processor 对称多处理器)系统。在 SMP 系统中。多个程序(进程)能够做到真正的并行运行。而且单个进程的多个线程也能够得到并行运行,这极大提高了计算机系统并行处理能力和总体性能。

2)SMP 硬件支持

在硬件方面,早期的计算机系统很多其它的是在一个主板上拥有多个物理的 CPU 插槽来实现 SMP 系统。后来随着多核技术、超线程(Hyper-Threading)技术的出现,SMP 系统就会使用多处理器、多核、超线程等技术中的一个或多个。多数的现代CPU都支持多核或超线程技术,如 Intel 的 Xeon(志强)、Pentium D(奔腾 D)、Core Duo (酷睿双核)、Core 2 Duo(酷睿二代双核)等系列的处理器和 AMD 的 Athlon64 X2、Quad FX、Opteron 200、Opteron 2000 等系列的处理器。

3)SMP 软件支持

在操作系统方面,多数的现代操作系统都提供了对 SMP 系统的支持、如主流的 Linux 操作系统(内核2.6及以上对 SMP 的支持比較完好)、微软的 Windows NT 系列(包含:Windows 2000、Windows XP、Windows 7、Windows 8、Windows 10等)、Mac OS 系统、BSD 系统、HP-UX 系统、IBM 的 AIX 系统,等等。

二、查看 CPU 数量、多核及超线程

至于查看 CPU 的 physical、processor、core 等信息,请看我曾经写的博客:

Linux查看CPU信息:http://blog.csdn.net/wanglei_storage/article/details/48326791

二、创建 kvm 虚拟机

1、安装 kvm 虚拟机

在配置客户机的 SMP 之前呢,必需要有虚拟机才行。这边简介下怎样创建一个虚拟机(准备一仅仅系统镜像。比如:CentOS-6.5-x86_64-bin-DVD1.iso):

1)首先。需要创建一个镜像文件,能够使用 dd 工具。以下创建一个 8GB 大小的系统磁盘文件 centos.img:



2)其次,启动该 kvm 虚拟机并安装系统

參数介绍:

-smp :也就是接下来要说明的东西。SMP(对称多处理器)系统

-m :分配给客户机的内存

-boot order=cd:指定引导次序。a、b表示软驱、c表示第一块硬盘,d表示第一个光驱设备。n-p表示网络适配器

-hda : 分配给客户机的 IDE 硬盘(即前面准备的镜像文件)

- cdrom:分配给客户机的光驱



默认情况下,QEMU会启动一个 VNC Server port(如上::1:5900),能够在kde桌面环境用 vncviewer 工具来连接到 QEMU 的 VNC port查看客户机,而且安装操作系统。



到这里,准备工作完毕



三、qemu-kvm 配置客户机的 SMP 系统

qemu-kvm 參数介绍:

在 qemu-kvm 命令中,”-smp” 參数即是为了配置客户机的 SMP 系统,详细參数例如以下:

-smp n[,maxcpus=cpus][,cores=cores][,threads=threads][,sockets=sockets]

当中:

n 用于设置客户机中使用的逻辑 CPU 数量(默认值为1)

maxcpus 用于设置客户机中最大可能被使用的 CPU 数量。包含启动时处于下线 offline 状态的 CPU 数量

cores 用于设置每一个 CPU socket 上的 core 数量 (默认值为1)

threads 用于设置每一个 CPU core 上的线程数(默认值为1)

sockets 用于设置客户机中看到的总的 CPU socket 数量。



以下通过 KVM 中的几个QEMU命令实例来看一下怎样将 SMP 应用于客户机中(查看进程及线程通过命令:ps -efL):

1)演示样例1(smp 指定为 4 表示分配了 4 个虚拟CPU给客户机):



我们在客户机中看到了4个 processor 和 cpu0、cpu1、cpu2、cpu3。而且在宿主机中看到了 qemu-kvm 进程和线程





2)演示样例2 (smp 指定为 2 表示分配了 2 个虚拟CPU给客户机)



我们在客户机中看到了2个 processor 和 cpu0、cpu1。而且在宿主机中看到了 qemu-kvm 进程和线程





3)演示样例3(不加 smp 參数。使用其默认值1,在客户机中查看 CPU 情况)



我们在客户机中看到了1个 processor 和 cpu0,而且在宿主机中看到了 qemu-kvm 进程和线程



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: