Hyper-V 内存管理必须知道的

简介:

Windows Server 2008 R2 SP1之前的Hyper-V版本中,管理员只能固定指定虚拟机所使用的物理内存大小,当虚拟机启动时,自动将管理员分配的内存完全占用。可能会出现以下2个问题:

1、当管理员分配给虚拟机的内存大小无法满足应用的需求时,管理员需要在关闭虚拟机的情况下(Hyper-V不支持内存热插拔),对其内存占用大小重新进行调整。

2、当管理员给虚拟机分配过多的内存时,虚拟机应用在不需要使用这么多内存的情况下,将造成资源的浪费。

Windows Server 2008 R2 SP1 Hyper-V提供的内存动态管理功能,将解决遇到的内存应用瓶颈。

内存过量使用

内存过量使用,允许虚拟机使用比物理主机可用的更多的内存。例如,宿主机有2GB内存,就可以在其上运行四台拥有1GB内存的虚拟机。内存能过量使用因为有比宿主机更多的虚拟内存。因此,管理员能够最大化物理计算机中运行的虚拟机数量,而不用理会物理内存的限制。

如果没有内存过量使用功能,分配给虚拟机内存的数量最多只能是和宿主机相同数量的内存。但实际上,虚拟机通常消耗的内存比其需要的少,这会浪费物理内存空间,并限制了在服务器上能运行的虚拟机数量。例如,一台8GB 内存的Hyper-V服务器,可能在服务器上部署三台虚拟机,每个分配2GB,并预留2GB给主机操作系统,虽然这台服务器有足够的CPU和磁盘资源来宿主更多虚拟机,但内存成为限制因素。Hyper-V Dynamic Memory里含有一个选项(内存缓冲区)能解决这个问题。

Hyper-V不允许内存过量使用,例如如果分配4GB内存给Hyper-V的一台虚拟机,虚拟机实际只使用2GB。启动虚拟机后,Hyper-V检查是否有4GB的物理内存可用。如果这样的话,内存就被“锁定”,因此只能用于该虚拟机。如果4GB不可用,虚拟机就不能启动,即使虚拟服务器需要的2GB内存可用也不行。

Hyper-V提供“内存缓冲区”、“内存权重”以及“内存优先级”。Hyper-V允许根据内存使用率优化虚拟机。当出现争用内存的情况,高优先权虚拟机首先获得内存。因为内存竞争会迫使虚拟机用光内存,如果虚拟机需要但又没有可用的内存。“Hyper-V管理器”显示每台虚拟机可用的内存,帮助管理员在Hyper-V上更好地管理内存分配。

启动内存

启动内存,是指操作系统启动所需要的最小内存容量加上开启应用程序所需要的内存容量。启动内存值和处于“静态”模式下的内存设置相同。

例如Microsoft Exchange Server 2010至少需要4 GB的系统内存,即使用8GB来运行一个虚拟系统,而操作系统和应用程序需要的最低内存是4GB,那么启动内存设置就是4GB,因此应该把启动内存设置与操作系统和应用程序启动所需要的最低内存容量保持一致。

最大内存

最大内存,是Hyper-V可以为虚拟机提供的最大内存容量,默认设置为64GB 。Hyper-V会根据实际需要的容量自动分配。

例如,应用程序会要占用全部内存。在这些情况下,把最大内存设置应该分配给应用程序和操作系统最大内存容量。另外,如果最大内存值不是64GB,内存动态管理功能不能启用。
















本文转自wangshujiang51CTO博客,原文链接: http://blog.51cto.com/wangshujiang/943263,如需转载请自行联系原作者


相关文章
|
6月前
|
存储 算法 调度
操作系统之内存管理
内存的基础知识 什么是内存 因为cpu的处理速度很快,而外存的读取速度又很慢,所以我们就需要先加载到内存中,内存的读取速度比外存要快得多,如此实现更高效的处理 进程的工作原理 指令的工作原理 从X=X+1大致看一下指令的执行过程 指令的工作基于地址。每个地址对应一个数据的存储单元。 逻辑地址(相对地址)vs物理地址(绝对地址) 从写程序到程序运行—编译、链接、装入 不修改装入模块中的指令地址就直接装入内存的话: 也就是说只有当装入模块使用的内存从#0开始时,不修改装入模块中的指令地址才能行得通 装入的三种方式 绝对装入 这也叫就意味着这个程序
31 0
|
存储 缓存 算法
409操作系统学习笔记——内存管理(二)
409操作系统学习笔记——内存管理
989 1
409操作系统学习笔记——内存管理(二)
|
1天前
|
存储 算法 数据安全/隐私保护
深入理解操作系统的内存管理机制
【4月更文挑战第17天】 在现代计算机系统中,操作系统扮演着资源管理者的角色,其中内存管理是其核心职能之一。本文探讨了操作系统内存管理的关键技术,包括虚拟内存、物理内存分配与回收、分页和分段机制,以及内存交换技术。通过分析这些机制的原理和实现,我们旨在加深读者对操作系统如何有效管理和保护内存资源的理解。
4 1
|
6天前
|
存储 大数据 量子技术
深入理解操作系统的内存管理
【4月更文挑战第12天】 在现代计算机系统中,操作系统扮演着关键角色,它负责协调和管理硬件资源,确保系统运行的高效与稳定。其中,内存管理是操作系统的核心功能之一,它涉及物理内存的分配、虚拟内存的映射以及内存保护等关键操作。本文旨在深入剖析操作系统内存管理的基本原理与实践,探讨其对系统性能和安全性的影响,并简述当前的挑战与创新方向。
|
3月前
|
存储 算法 Unix
|
10月前
|
存储 小程序
操作系统(5)内存管理
5.1.概述 讨论内存管理之前,首先要搞清楚内存中到底存放的是什么东西?内存中存放的是进程,内存中各个进程圈地而治,所圈的地盘中存放各个进程自己的指令和数据,进程执行完毕后,退出内存,还出圈给它的地。如何给各个进程圈地,就是存储管理的核心。 计算机的存储技术可以从两个维度来分类: 连续还是离散? 简单还是虚拟? 连续还是离散: 连续存储技术,程序一定是被连续存储的。离散存储技术,程序可能是被离散(分散)存储的。
105 0
|
存储 算法
操作系统学习笔记】(四)内存管理(1)
本文是个人学习《现代操作系统》一书后的笔记,本文重点总结内存管理和置换算法两部分。
90 0
|
存储 算法 小程序
408操作系统学习笔记——内存管理(一)
408操作系统学习笔记——内存管理
219 1
408操作系统学习笔记——内存管理(一)
|
算法 程序员
410操作系统学习笔记——内存管理(三)
410操作系统学习笔记——内存管理
119 1
410操作系统学习笔记——内存管理(三)
|
存储 机器学习/深度学习 算法
操作系统 内存管理
操作系统 内存管理
93 0

相关课程

更多