IT技术互动交流平台

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

来源:IT165收集  发布日期:2016-04-11 21:28:54

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

1)SMP简介

在计算机技术非常普及和日益发达的今天,以 Intel、IBM 为代表的一些大公司推动着中央处理器(CPU)技术的飞速发展和更新换代,在现在计算机系统中,多处理器、多核、超线程等技术得到了广泛应用。无论是在企业级和科研应用的服务器领域中;还是个人消费者使用的台式机、笔记本甚至只能手机上,随处可见 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 端口(如上::1:5900),可以在kde桌面环境用 vncviewer 工具来连接到 QEMU 的 VNC 端口查看客户机,并且安装操作系统。

这里写图片描述

到这里,准备工作完成

这里写图片描述


三、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 进程和线程

这里写图片描述

这里写图片描述

延伸阅读:

Tag标签: 处理器  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规