Windows Server 2012 中动态内存新特性

简介:

在Windows Server 2008 R2 SP1 Hyper-V中已经增加了内存优化功能,不过在Windows Server 8 现更名为Windows Server 2012中有了更亮眼的改变!

在Windows 2008 R2增加的动态内存中,允许设置动态物理内存共享区域,这样可以保证在Hyper V中将物理内存视为共享资源,根据虚拟机的需求动态分配和回收可用内存。

不过由于虚拟机操作系统启动时往往需要的内存空间大于启动以后进入不活跃状态所需要的内存,但是为了确保虚拟机再次启动可以成功,因此这部分大于系统最小保留的“启动所需”内存空间需要考虑设置为启动内存保留在内,因此可能造成了一定的内存空间浪费。

考量虚拟化密度很多时候各厂商都在强调内存超量分配技术,例如可以通过内存页共享(当然尽量使用大的内存页否则计算冗余内存页将耗费很多时间和CPU),内存压缩,内存释放等技术;但是请不要忘记一个问题,就是当释放掉的某虚拟机的非活跃内存用于其他虚拟机使用时,很可能会造成该物理环境的物理内存启动虚拟机预留内存不足的启动失败,因此无论如何设置启动的内存部分还是要浪费不必要的启动内存空间;那么有没有更好的办法解决呢?

 

 

Windows Server 2012中给出了很好的答案:

我们可以设置: 

  • 虚拟机所用的最大内存

  • 可以在线的修改虚拟机设置动态内存部分设置 (动态在线内存修改)

  • 设置启动内存,最小内存和最大内存

  • 在虚拟机创建时就可以激活动态内存功能

 Dynamic Memory Windows Server 8

 

动态内存主要用到了以下一些机制:

  • 最小内存

允许Hyper-V从虚拟机内部回收不活跃内存,这样就可以大幅度增加共享物理内存资源,对于高密度(尤其是虚拟桌面环境)会有很大的帮助。

当然,考虑到上述启动内存的一些要求和限制,一般方面为了避免启动虚拟机失败,另一方面又要综合考虑充分利用物理内存资源提高密度,新的“智能页调度功能”产生了。

  • 智能调页

当设置最小内存引起潜在的系统启动失败问题时,Hyper-V会自动在指定的物理磁盘上映射一个临时的页面缓冲区,当然考虑到磁盘的寻址时间比内存慢很多,因此智能调页仅用于:

    • 虚拟机启动
    • 物理内存不足
    • 没有其他物理内存可以被回收使用的情况

个人感觉可以适当采用一些固态盘作为临时缓冲区,降低启动时可能引起的一些IO响应延迟。

对于调页这个部分需要强调一下,虽然有些厂商强调其可以利用二级调页提高内存超用技术,这显然是有前提的;对于内存调页机制来说本来系统就有此功能,试想一下真要是到了物理内存吃紧,Hypervisor需要乱序Paging到物理硬盘的时候,你懂得:Hypervisor是不会顾及到虚拟机内部哪些物理内存是系统运行时需要的,这是很恐怖的“压缩比性能响应效应”,要知道DDR3-1600内存的响应时间是5ns,高性能磁盘寻址响应时间是8ms左右,这是1,6000000倍的差别,如果不能做到智能调页那么最好选择的方式还是在虚拟机内部自己系统调页解决啊~

 

  • 虚拟机内部调页

考虑到上述问题,虚拟机内部的内存页控制是必不可少的。

  • 内存空间气球技术利用

为了减少智能调页可能产生的影响,虚拟机完成了启动之后;Hyper-V会自动气球回收技术讲虚拟机内部的这部分临时内存空间释放。

  • 内存动态配置

可以在线分配(增加减少)虚拟机的物理内存

 











本文转自 翟老猫 51CTO博客,原文链接:http://blog.51cto.com/3387405/968501,如需转载请自行联系原作者
目录
相关文章
|
8天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
18天前
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
40 11
|
13天前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
44 3
|
17天前
|
存储 安全 网络安全
Windows Server 本地安全策略
由于广泛使用及历史上存在的漏洞,Windows服务器成为黑客和恶意行为者的主要攻击目标。这些系统通常存储敏感数据并支持关键服务,因此组织需优先缓解风险,保障业务的完整性和连续性。常见的威胁包括勒索软件、拒绝服务攻击、内部威胁、恶意软件感染等。本地安全策略是Windows操作系统中用于管理计算机本地安全性设置的工具,主要包括用户账户策略、安全选项、安全设置等。实施强大的安全措施,如定期补丁更新、网络分段、入侵检测系统、数据加密等,对于加固Windows服务器至关重要。
|
2月前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019
|
2月前
|
安全 网络协议 数据安全/隐私保护
Windows Server 2019 搭建并加入域
Windows Server 2019 搭建并加入域
|
4月前
|
存储 编译器 C语言
【C语言篇】数据在内存中的存储(超详细)
浮点数就采⽤下⾯的规则表⽰,即指数E的真实值加上127(或1023),再将有效数字M去掉整数部分的1。
388 0
|
2月前
|
存储 C语言
数据在内存中的存储方式
本文介绍了计算机中整数和浮点数的存储方式,包括整数的原码、反码、补码,以及浮点数的IEEE754标准存储格式。同时,探讨了大小端字节序的概念及其判断方法,通过实例代码展示了这些概念的实际应用。
63 1
|
2月前
|
存储
共用体在内存中如何存储数据
共用体(Union)在内存中为所有成员分配同一段内存空间,大小等于最大成员所需的空间。这意味着所有成员共享同一块内存,但同一时间只能存储其中一个成员的数据,无法同时保存多个成员的值。
|
2月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。