kvm虚拟化及cpu内存调优学习笔记(一)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

虚拟化:

虚拟化有半虚拟化与全虚拟化

演化过程:

软件模拟, 通过软件完全模拟磁盘,网卡等

虚拟化层翻译 , 加入虚拟化层进行模拟

容器虚拟化, 原理是基于cgorup, namespace等技术将进程隔离

x86平台指令集分为4个特权模式: Ring 0, Ring 1, Ring 2, Ring 3

操作系统一般使用 Ring 0, 应用程序使用 Ring 3, 而驱动程序使用 Ring 1, Ring 2

虚拟化需要将虚拟机的越级指令进程隔离, 为此引入虚拟化层VMM, 通过虚拟化引擎捕获虚拟机的指令, 并进行处理,因为指令被捕获并经过转换,因此虚拟机不能对硬件进行直接操作。

  1. 捕获指令进行转换为一种思路,但是效率相对较低
  2. Xen 提出将虚拟机操作系统内核进行改造, 使得虚拟机自己进行识别并转换指令,效率高,但需要修改内核,配置较麻烦, 成为半虚拟化
  3. VT-x对CPU指令进行改造, 基于硬件, 效率高,全虚拟化。 IO通信虚拟化VT-d

virt-Manager是一个图形化的虚拟机管理工具, 可以使用它进行虚拟机安装管理

kvm虚拟机cou调优主要使用numa技术

nested特性,可以修改虚拟机的嵌套层数

内存调优主要使用ksm(相同内存页合并)

多CPU 工作的3中架构: 1. SMP, 2.MPP, 3.NUMA架构

smp: 多个cpu通过总线访问存储器, smp有时候也被称为一致内存访问(UMA)结构体系

扩展性有限, 受到总线限制
在这里插入图片描述
mpp:

numa

每个cpu一个内存储器, 然后通过总线连接, 可以访问其他处理器的存储器

KVM 虚拟化详解 服务器虚拟化是云计算最核心的技术,而KVM是当前最主流的开源的服务器虚拟化技术。从Linux2.6.20起,KVM作为内核的个模块 集成到Linux主要发行版本中。从技术架构(代码量、功能特性、度管理、性能等)、社区活跃度,以及应用广泛度来看,KVM显现出明显势,已逐渐替换另开源虚拟化技术Xen。在公有云领域,2017年之后AWS、阿里云、华为云等厂商都逐渐从Xen转向KVM,而Google、腾讯云、百度云等也使用KVM。在私有云领域,目前VMware ESXi是领导者,微软Hyper-V不少应用, 阅读详情

相关推荐

《深度实战KVM》---之三 :CPU内存虚拟化技术与应用场景(1)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

小宇宙的专栏 3993

/proc/sys/kernel/文档(二)

文章目录numa_balancingnuma_balancing_scan_period_min_ms, numa_balancing_scan_delay_ms, numa_balancing_scan_period_max_ms, numa_balancing_scan_size_mbosrelease, ostype & versionoverflowgid & overfl...

运维狗的备忘录 2706

KVM系列02】KVMCPU内存虚拟化

第二章KVMCPU内存虚拟化 1. 为什么需要 CPU 虚拟化 1.1 基于二进制翻译的全虚拟化(Full Virtualization with Binary Translation) 1.2. 超虚拟化(或者半虚拟化/操作...

Java仗剑走天涯 1387

自动 NUMA Balancing

自动 NUMA 平衡移动任务(可以是线程或进程)更接近他们访问的内存。这在自动 NUMA 平衡激活时由内核自动完成。自动 NUMA 平衡提高了在 NUMA 硬件系统上运行的应用程序的性能。在 Red Hat Enterprise Linux 7 中默认启用自动 NUMA 平衡,并在使用 NUMA 属性引导时自动激活。应用程序的手动 NUMA 将覆盖自动 NUMA 平衡,禁用定期不映射内存NUMA 错误、迁移和自动 NUMA 放置。在某些情况下,首选使用系统范围的手动 NUMA 整。

大隐隐于野 1119

linux内核对于NUMA的管理

等机制,尽可能减少跨节点内存访问。的关键在于:根据应用特性(内存密集型/CPU密集型)选择合适的内存分配策略和进程亲和性设置,避免“远程内存陷阱”。在Linux内核中,NUMA(Non-Uniform Memory Access)度算法的核心目标是。以下是与NUMA度相关的重要内核参数(可通过。Linux内核提供多种内存分配策略,通过。Linux内核的NUMA度算法通过。

inquisiter 1181

NUMA配置记录-20230328

NUMA配置记录

u010503464的博客 3921

关于NUMA

NUMA问题 Cause The Linux operating system includes algorithms that attempt to keep memory objects close to the CPU that accesses them. However, an application’s tasks can migrate over time to CPUs in...

badman250的专栏 5403

基于Redhat&centos7系统的KVM虚拟化指南

本文主要介绍KVM虚拟化cpu内存、IO度、网络等几个方面对虚拟机进行

qq_27815483的博客 1891

基于KVM虚拟化cpu&内存超分&超卖技术的研究

KVM 虚拟机管理程序会自动过量分配 CPU内存。这意味着,与系统上的物理资源相比,可以分配给虚拟机虚拟化 CPU内存更多。这是可能的,因为大多数进程不会始终访问 100% 的已分配资源。 因此,未充分利用的虚拟化服务器或桌面可以在较少的主机上运行,从而节省了大量系统资源,最终效果是减少功耗、冷却和服务器硬件投资。

qq_27815483的博客 3958

qemu-kvm内存虚拟化的原理及其流程

1.内存虚拟化技术实现原理 内存虚拟化其实就是关于如何做Guest虚机到host宿主机物理内存之间的各种地址转换,KVM经历了三代的内存虚拟化技术,大大加快了内存的访问速率。 先看看虚拟化环境和非虚拟化环境,内存分配的差异: 非虚拟化环境,内存分配时逻辑地址需要转换为线性地址,然后由线性地址转换为物理地址。 逻辑地址 ==> 线性地址 ==> 物理地址 虚拟化环境下,由于qemu-kvm进程在宿主机上作为个普通进程,那对于Guest而言,需要的转换过程就是这样: ...

hzj_001的博客 5494

KVM虚拟化技术介绍

虚拟化技术是云计算的基础,什么是虚拟化虚拟化技术的本质是什么?主流的虚拟化技术有哪些?本章将为您揭晓虚拟化种将计算机资源(例如cpu内存、存储等)进行抽象和隔离的技术。它可以将台物理计算机划分为多个虚拟计算机,每个虚拟计算机可以运行独立的操作系统和应用程序。KVM本质是Linux内核中的虚拟化模块kvm.ko,KVM运行在内核空间中提供CPU内存虚拟化,而IO设备虚拟化由运行在用户空间中的QEMU负责。

zhoutong2323的博客 1万+

KVM 介绍之CPU内存虚拟化

学习 KVM 的系列文章: (1)介绍和安装 (2)CPU内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分配和 SR-IOV (5)libvirt 介绍 (6)Nova 通过 libvirt 管理 QEMU/KVM 虚机 (7)快照 (snapshot) (8)迁移 (migration) 1. 为什么需要 CPU 虚拟化 X86 操作系统是设计在直接运行在裸硬件设备上的,因此它们自动认为它们完.

Yonx 3235

kvm虚拟化学习(

虚拟化 1.虚拟化介绍 虚拟化是云计算的基础。虚拟化是指通过虚拟化技术将台计算机虚拟为多台逻辑计算机。在台计算机上同事运行多个逻辑计算机,每个逻辑 计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而相互不影响,从而显著提高计算机的工作效率。 虚拟化使用软件的方法重新定义划分IT资源,可以实现IT资源的动态分配、灵活度、跨域共享,提高IT资源利用率,使IT资源能够真正成...

Ryan的个人博客 2834

KVM虚拟化

KVM虚拟化架构 1、主流虚拟机架构 图中对比了几种主流虚拟化技术架构:ESXi、Xen与KVM,其主要差别在与各组件(CPU内存、磁盘与网络IO)的虚拟化度管理实现组件有所不同。在ESXi中,所有虚拟化功能都在内核实现。Xen内核仅实现CPU内存虚拟化, IO虚拟化度管理由Domain0(主机上启动的第个管理VM)实现。​KVM内核实现CPU内存虚拟化,QEMU实现IO虚拟化...

bob的博客 3435

云计算考证笔记、CPU虚拟化内存虚拟化、IO虚拟化、存储虚拟化

云计算虚拟化知识,CPU虚拟化,全虚拟化、半虚拟化、硬件辅助虚拟化内存虚拟化,全虚拟化、硬件虚拟化。I/O虚拟化,QEMU、全虚拟化、半虚拟化,I/O透传。存储虚拟化,SAN存储组成网络,IPSAN、FCSAN、NAS、NTFS、NF磁盘快照、ROM。...

运维派大星 3013

突破硬件限制:macOS Docker容器的CPU虚拟化配置与性能全指南

你是否曾因开发环境与生产环境的系统差异而头疼?还在为跨平台测试macOS应用寻找解决方案?本文将带你探索如何通过Docker容器运行macOS系统,重点解析CPU虚拟化配置的核心技术与性能优化策略,让你无需Apple硬件也能高效构建macOS开发环境。 读完本文你将掌握: - Docker容器运行macOS的核心原理与兼容性要求 - CPU资源分配的最佳实践与性能测试方法 - 内存管理与存储配置...

gitblog_00659的博客 1075

KVM虚拟化原理探究——CPU虚拟化

虚拟机的指令集直接运行在宿主机物理CPU上,当虚拟机中的指令设计到IO操作或者些特殊指令的时候,控制权转让给了宿主机(这里其实是转让给了vm monitor,下面检查VMM),也就是个demo进程,他在宿主机上的表现形式也就是个用户级进程。用张图来解释更为贴切。VMM完成vCPU内存的初始化后,通过ioctlKVM的接口,完成虚拟机的创建,并创建个线程来运行VM,由于VM在前期初始化的时候会设置各种寄存器来帮助KVM查找到需要加载的指令的入口(main函数)。.........

lingshengxiyou的博客 1636

KVM虚拟化中固定内存优化与性能实践

内存管理是计算机系统性能优化的核心环节,其中分页内存与固定内存是两种关键机制。分页内存通过虚拟内存扩展了可用空间,但存在页面交换延迟;固定内存则通过锁定物理页消除交换开销,特别适合需要确定性延迟和高带宽传输的场景。在虚拟化环境中,KVM结合硬件辅助技术(如EPT/RVI)实现高效内存虚拟化,通过大页支持、NUMA感知等机制提升性能。固定内存在GPU计算、高频交易等场景中能显著提升数据传输效率,实测显示其带宽可达普通内存的2倍。合理配置内存锁定参数与Write-Combining优化可进步降低CPU开销,但

weixin_32308101的博客 315
上一篇: docker网络原理笔记
下一篇: libvirt virsh domain命令解析(一)
comprel
博客等级 码龄10年 70粉丝 132原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值