1. 程式人生 > >KVM虛擬化CPU技術總結

KVM虛擬化CPU技術總結

轉載自:http://xiaoli110.blog.51cto.com/1724/1607863


一 NUMA技術介紹
NUMA是一種解決多CPU共同工作的技術方案,我們先回顧下多CPU共同工作的技術架構歷史。多CPU共同工作主要有三種架構,分別是SMP MPP NUMA架構。SMP MPP NUMA 都是為了解決多CPU共同工作的問題。
早期的時候,每臺伺服器都是單CPU,隨著技術發展,出現了多CPU共同工作的需求,最早的多CPU技術是SMP。
SMP 
多個CPU通過一個匯流排訪問儲存器,因此SMP系統有時也被稱為一致儲存器訪問(UMA)結構體系,一致性意指無論在什麼時候,處理器只能為記憶體的每個資料保持或共享唯一一個數值。
SMP的缺點是可伸縮性有限,因為在儲存器介面達到飽和的時候,增加處理器並不能獲得更高的效能,因此SMP方式支援的CPU個數有限。

MPP 


MPP模式則是一種分散式儲存器模式,能夠將更多的處理器納入一個系統的儲存器。一個分散式儲存器模式具有多個節點,每個節點都有自己的儲存器,可以配置為SMP模式,也可以配置為非SMP模式。單個的節點相互連線起來就形成了一個總系統。MPP可以近似理解成一個SMP的橫向擴充套件叢集,MPP一般要依靠軟體實現。

NUMA
每個處理器有自己的儲存器,每個處理器也可以訪問別的處理器的儲存器。

NUMA-Q
是IBM最早將NUMA技術應用到i386上的商業方案,可以支援更多的x86 CPU一起工作。


KVM虛擬機器NUMA調優 
因為NUMA架構每個處理器都可以訪問自己和別的處理器的儲存器,訪問自己的儲存器要比訪問別的儲存器的快很多,NUMA 調優的目標就是讓處理器儘量的訪問自己的儲存器,以提高處理速度。

通過numactl --hardware可以看到當前CPU硬體的情況

wKiom1TEI_DxDwxSAAF3NRraZ2k306.jpg

libvirt的numa管理
使用numastat 命令可以檢視每個節點的記憶體統計
wKioL1TEJOSSRZTKAAFaWRIAf8o626.jpg

使用numatune命令可以檢視或者修改虛擬機器的numa配置
wKiom1TEJBuD3I-KAADmHcQo0cI539.jpg


linux的numu平衡策略
linux系統預設是自動numu平衡策略,如果要關閉Linux系統的自動平衡,使用如下命令

1 # echo 0 > /proc/sys/kernel/numa_balancing


如果要開啟,使用如下命令

1 echo 1 > /proc/sys/kernel/numa_balancing



numa工作方式可以是strict,指定cpu,或者auto 使用系統的numad服務

1 2 3 4 5 6 <numatune> <memory mode='strict' placement='auto'/> </numatune> <numatune> <memory mode='strict' nodeset='0,2-3'/> </numatune>

virsh numatune rhel7 --nodeset ‘0,2-3’
vpcu的設定

1 2 <vcpu placement='auto'>8</vcpu> <vcpu placement='static' cpuset='0-10,5'>8</vcpu>

<vcpu> 和 <numatune>需要保持一致,<numatune>配置的是物理CPU,<vcpu>配置的CPU的核,包括超執行緒產生的核;
<numatune>使用static模式,<nodeset>也必須是;
也可以設定一個虛擬機器給32個虛擬CPU,但是一開始只能使用8個,然後可以根據系統壓力,熱新增CPU給虛擬機器。

1

相關推薦

KVM虛擬化CPU技術總結

轉載自:http://xiaoli110.blog.51cto.com/1724/1607863 一 NUMA技術介紹 NUMA是一種解決多CPU共同工作的技術方案,我們先回顧下多CPU共同工作的技術架構歷史。多CPU共同工作主要有三種架構,分別是SMP

qemu-kvm虛擬化——CPU 基於WMWare Workstation 搭建 KVM 環境

前言 拋開眾多令人花眼的虛擬化技術不談,一個實實在在計算機系統都包含什麼?處理器(CPU)、記憶體(Memory)、儲存(Storage)、網路(Network)、顯示(Display)等。對於虛擬機器也是如此。本文介紹就是針對CPU的虛擬化技術。在正式開始之前,先想像下面這個問題? 虛擬化技術中最重要的一

KVM虛擬化技術

kvm虛擬化 KVM虛擬化虛擬化介紹: VMware,Hyper-v, XenSer, XenClient,

linux-KVM虛擬化技術

linux運維 計算機網絡 達內 紅帽 linux系統操作 kvm虛擬化 虛擬化概述Virtualization 資源管理– x個物理資源 --> y個邏輯資源– 實現程度:完全、部分、硬件輔助(CPU)手動新建一臺虛擬機: 虛擬機名字:exam

linux運維、架構之路-KVM虛擬化技術

sna 運維 3.1 png 配置 tools 關閉 wall ati 一、雲計算概述 雲計算:是一種資源使用和交付模式 虛擬化:一種具體的技術,用來將物理機虛擬成為多個相互獨立的虛擬機。雲計算不等於虛擬化,雲計算是使用了虛擬化的技術做支撐 二、KV

KVM虛擬化技術與DNS

rsynckvm命令1、查看虛擬機列表[root@room8pc16 review]# virsh list --all2、打開控制臺[root@room8pc16 review]# virt-manager 3、連接虛擬機[root@room8pc16 review]# virt-viewer rh7-no

KVM虛擬化技術(二)

LinuxKVMvirt-instaKVM虛擬化技術(二)===============================================================================概述:============================================

虛擬化技術之基於硬件虛擬化技術KVM

雲計算 虛擬化 KVM 前言上一篇說到了虛擬化的原理,有一個是基於CPU硬件的虛擬化。原理是廠商更改指令集模式的特權級別,使得VMM(虛擬機監控器)直接運行在硬件上面。關於CPU指令特權級別可以參考https://blog.csdn.net/autumn20080101/article/detai

KVM虛擬化技術實戰與原理解析

1、軟體虛擬化和硬體虛擬化:實現虛擬化的重要一步在於:虛擬化層必須能夠截獲計算元件對物理資源的直接訪問,並將其重定向到虛擬資源池中。硬體虛擬化,就是物理平臺本身提供了對特殊指令的截獲和重定向的硬體支援 2、準虛擬化與全虛擬化:改動客戶作業系統,使他以為自己執行在虛擬環境下,能夠與虛擬機器監控

[虛擬化] CPU虛擬化技術 - Introduction

  虛擬化技術的分類主要有伺服器虛擬化、儲存虛擬化、網路虛擬化、應用虛擬化。   伺服器虛擬化技術按照虛擬物件來分,可分為:CPU虛擬化、記憶體虛擬化、I/O虛擬化;           按照虛擬化程度可分為:全虛擬化、半虛擬化、硬體輔助虛擬化。   將不同的虛擬化物件和程度組合,可得出 9種 不同的伺

KVM(二)CPU 和記憶體虛擬化

1. 為什麼需要 CPU 虛擬化 X86 作業系統是設計在直接執行在裸硬體裝置上的,因此它們自動認為它們完全佔有計算機硬體。x86 架構提供四個特權級別給作業系統和應用程式來訪問硬體。 Ring 是指 CPU 的執行級別,Ring 0是最高級別,Ring1次之,Ring2更次之…… 就

KVM(三)CPU 和記憶體虛擬化

在 QEMU/KVM 中,客戶機可以使用的裝置大致可分為三類: 1. 模擬裝置:完全由 QEMU 純軟體模擬的裝置。 2. Virtio 裝置:實現 VIRTIO API 的半虛擬化裝置。 3. PCI 裝置直接分配 (PCI device assignment) 。 1. 全虛擬化 I/O

KVM虛擬化技術之使用Qemu-kvm建立和管理虛擬機器

一 .KVM 簡介 KVM (名稱來自英語: Kernel-basedVirtual Machine 的縮寫,即基於核心的虛擬機器) , 是一種用於Linux核心中的虛擬化基礎設施,可以將Linux核心轉化為一個hyper

CentOS7.1 KVM虛擬化之虛擬機器記憶體、CPU調整

一、調小虛擬機器記憶體 調小虛擬機器記憶體可以動態實現,不用關機 1.檢視當前記憶體大小 [plain] view plain copy [[email protected] ~]# virsh dominfo vm1-clone | gr

KVM虛擬化技術實戰與原理解析——讀書筆記

入門級書籍——一種KVM,Qemu的使用手冊 轉載請說明出處。 全書一共9章:         第1章介紹了雲端計算和虛擬化的概念,並對KVM等幾種流行的虛擬化技術做了比較;         第2章介紹了KVM的基本架構、QEMU的作用以 及Intel的硬體虛

虛擬化技術性能總結:Zones, KVM, Xen

先說一下,中國香港的Fengqi.Asia或大陸的風起雲所使用的後臺技術即是Joyent相關技術,應該也是中國現在唯一使用Joyent技術的公有云(如果有錯請不吝指教)。-----------------------------------------------------

看作業系統虛擬化原理總結篇——基於軟體的完全虛擬化——cpu

qemu則是採用動態翻譯的技術,先將目的碼翻譯成一系列等價的被稱為“微操作”(micro-operations)的指令,然後再對這些指令進行拷貝,修改,連線,最後產生一塊原生代碼。這些微操作排列複雜,從簡單的暫存器轉換模擬到整數/浮點數學函式模擬再到load/store操作模擬,其中load/store操作

KVM虛擬化技術的-熱新增硬碟和儲存池

一、熱新增硬碟 方法一: [[email protected] ~]# virsh list #列出虛擬機器 Id Name State --------------------

KVM虛擬化技術的-NUMA技術和應用

  NUMA技術是解決多CPU共同工作的技術方案,多CPU共同工作主要有3中架構:SMP:Symmetric Multi-Processor),非統一儲存訪問結構(NUMA:Non-Uniform Memory Access),以及海量並行處理結構(MPP:Ma

KVM虛擬化技術的-Qemu

QEMU 支援兩種操作模式:User mode模擬模式,亦即是使用者模式(ioctl 呼叫 /dev/kvm,)和System mode模擬模式,亦即是系統模式(qemu-kvm)。 https://www.qemu.org/ ivshmem-client