zoukankan      html  css  js  c++  java
  • kvm 虚拟化 SMP(对称多处理器)介绍及配置

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

    这里写图片描写叙述

    这里写图片描写叙述

  • 相关阅读:
    Newbit 启用淘宝店域名
    Ninja构建系统入门
    异想家Golang学习笔记
    Webpack学习
    JavaFx图形界面开发
    异想家Win10常用的软件推荐
    Java Swing图形界面开发
    优雅写Java之四(类与对象)
    优雅写Java之三(IO与文本解析)
    优雅写Java之二(数组集合流)
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/8335175.html
Copyright © 2011-2022 走看看