一、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. Sqli-labs less 12

    Less-12 本关和less11是类似的,只是在id 的参数的处理上有一定的不同 当输入username:admin" Password: (随便) 报错后的结果为: You have a ...

  2. [Codeforces #196] Tutorial

    Link: Codeforces #196 传送门 A: 枚举 #include <bits/stdc++.h> using namespace std; #define X first ...

  3. 【Splay】Codeforces Round #424 (Div. 1, rated, based on VK Cup Finals) B. Cards Sorting

    Splay要支持找最左侧的最小值所在的位置.类似线段树一样处理一下,如果左子树最小值等于全局最小值,就查左子树:否则如果当前节点等于全局最小值,就查当前节点:否则查右子树. 为了统计答案,当然还得维护 ...

  4. 【分块】【LCT】bzoj2002 [Hnoi2010]Bounce 弹飞绵羊

    分块,每个点统计还有几步弹出该块,以及它弹出块后的下一个节点是哪个点. 注意:update某个点的时候,会可能对当前块内 该点及以前的点 产生影响,所以对这部分点进行更新. #include<c ...

  5. [NOIp2017提高组]宝藏

    #include<cstdio> #include<cctype> #include<algorithm> inline int getint() { regist ...

  6. [BZOJ1007](HNOI2008)水平可见直线(半平面交习题)

    Description 在xoy直角坐标平面上有n条直线L1,L2,...Ln,若在y值为正无穷大处往下看,能见到Li的某个子线段,则称Li为可见的,否则Li为被覆盖的.     例如,对于直线:   ...

  7. Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) F. Double Knapsack 鸽巢原理 构造

    F. Double Knapsack 题目连接: http://www.codeforces.com/contest/618/problem/F Description You are given t ...

  8. MYSQL复习笔记12-视图

    Date: 20140223Auth: Jin参考:http://blog.sina.com.cn/s/blog_436732df0100e768.html 一.介绍1.概念视图是从一个或几个基本表( ...

  9. 推荐几个对象映射(Object-Object Map)的库

    在进行一些MIS相关的项目开发中,我们经常会涉及到一些数据对象和视图模型之间的互相转换, public class Customer        //mapped from db    {      ...

  10. HDU 4665 Unshuffle (2013多校6 1011 )

    Unshuffle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...