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

kvm 虚拟化 SMP(对称多处理器)介绍及配置的更多相关文章

  1. [转] KVM虚拟化技术生态环境介绍

    KVM虚拟化技术生态环境介绍 http://xanpeng.github.io/wiki/virt/kvm-virtulization-echosystem-intro.html kvm和qemu/q ...

  2. KVM虚拟化(一)—— 介绍与简单使用

    一.架构及介绍 KVM(Kernel-based Virtual Machine)它由 Quramnet 开发,该公司于 2008年被 Red Hat 收购: 自Linux 2.6.20后整合到内核, ...

  3. Kvm 虚拟化介绍(1)

    一.虚拟化分类       1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间 ...

  4. kvm虚拟化介绍

    一.虚拟化分类 1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相 ...

  5. KVM虚拟化介绍(1)

    一.虚拟化分类    1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独 立的空间内运 ...

  6. KVM——虚拟化

    KVM——虚拟化   虚拟化是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相 ...

  7. kvm虚拟化安装与部署(2)

    一.虚拟化VT开启确认 KVM 本身也有一些弱点,那就是相比裸金属虚拟化架构的 Xen . VMware ESX 和 HyperV , KVM 是运行在 Linux 内核之上的寄居式虚拟化架构,会消耗 ...

  8. kvm虚拟化之kvm虚拟机vnc配置

    本文是通过vnc方式访问虚拟主机上的KVM虚拟机.    这里的通过vnc方式访问虚拟机不是在kvm虚拟机安装配置vnc服务器,通过虚拟主机的IP地址与端口进行访问,kvm虚拟化对vnc的支持相对来说 ...

  9. Linux中安装配置KVM虚拟化

    KVM 概述: KVM 即 Kernel-based Virtual Machine 基于内核的虚拟机. KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在 Linux 的各 ...

随机推荐

  1. 洛谷——P2388 阶乘之乘

    P2388 阶乘之乘 题目背景 不告诉你…… 题目描述 求出1!*2!*3!*4!*……*n!的末尾有几个零 输入输出格式 输入格式: n(n<=10^8) 输出格式: 有几个零 输入输出样例 ...

  2. 第2天:Ansible-Inventory管理

    在Ansible中,将可管理的服务器集合成为Inventory.因此,Inventory管理便是服务器管理. hosts文件位置 我们知道,Ansible在执行操作时,首先需要确定对哪些服务器执行操作 ...

  3. 初雪-Diary?

    who care ------------2018 11 6-------------- 终于AK一场啦 ------------2018 10 18-------------- 嗯....今天T2多 ...

  4. BZOJ 2157 旅游(动态树)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2157 [题目大意] 支持修改边,链上查询最大值最小值总和,以及链上求相反数 [题解] ...

  5. SPOJ Time Limit Exceeded(高维前缀和)

    [题目链接] http://www.spoj.com/problems/TLE/en/ [题目大意] 给出n个数字c,求非负整数序列a,满足a<2^m 并且有a[i]&a[i+1]=0, ...

  6. 【Java】【滚动数组】【动态规划】UVA - 11137 - Ingenuous Cubrency

    滚动数组优化自己画一下就明白了. http://blog.csdn.net/u014800748/article/details/45849217 解题思路:本题利用递推关系解决.建立一个多段图,定义 ...

  7. 通过scrapy内置的ImagePipeline下载图片到本地、并提取本地保存地址

    1.通过scrapy内置的ImagePipeline下载图片到本地 2.获取图片保存本地的地址 1.通过scrapy内置的ImagePipeline下载图片到本地 1)在settings.py中打开  ...

  8. codevs 1297 硬币

    1297 硬币  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 我们知道即使是同一种面值的硬币, ...

  9. php应用数据库连接中的单例模式

    所谓的单例模式简而言之就是某个类在运行过程中只有一个实例,并且能够自行实例化并为整个系统的运行提供这个实例.在数据库连接中使用单例模式实例化数据库连接对象主要是可以避免重复的实例化对象而造成资源的浪费 ...

  10. LRU近期最少使用算法

    LRU(least recently used)最少使用. 假设 序列为 4 3 4 2 3 1 4 2 物理块有3个 则 首轮 4调入内存 4 次轮 3调入内存 3 4 之后 4调入内存 4 3 之 ...