首页 > 系统相关 >【VMware ESXi】把硬盘当内存用?VMware 内存分层(Memory Tiering),你值得拥有!

【VMware ESXi】把硬盘当内存用?VMware 内存分层(Memory Tiering),你值得拥有!

时间:2024-08-07 11:50:31浏览次数:7  
标签:ESXi NVMe 分层 内存 VMware 内存容量

VMware vSphere 8.0 U3 发布了一个非常有意义的功能叫内存分层(Memory Tiering),以利用基于 PCIe 的 NVMe 设备充当第二层(辅助)内存,从而使 ESXi 主机的可用物理内存(RAM)增加。从本质上讲,内存分层就是利用较便宜的 NVMe 设备充当物理内存,以此增加内存的总容量和工作负载的可用量,同时降低总体拥有成本(TCO)。

为什么会需要内存分层?会不会有很大性能瓶颈?原因有很多,比如内存成本,如今对于内存容量及性能的需求与 CPU 的需求其实是不平衡的,这可能会因内存原因导致许多环境出现诸多限制。对于性能的影响肯定是会有的,但是随着技术的发展,慢慢的也会得到控制。内存分层对应用程序来说是完全透明的,可以用于所有不同类型的工作负载。虚拟机管理程序负责内存管理,因此它知道哪些页面是热的,哪些页面是冷的,也就是说,它可以确定哪些页面用于哪个层并同时保持性能。

当前对于内存分层的配置,VMware 建议 NVMe 存储容量与物理内存容量的分配比率为 1:4,也就是 25%。意思就是,如果物理内存为 100 GB,那用于内存分层的 NVMe 存储建议为 25 GB,合在一起可以使用的内存容量为 125 GB,这样既可以增加物理内存的容量,也能减少因内存分层所带来的性能影响。当然这个比率只是官方推荐的也是默认的,这个值可以修改,你可以使用 1~400 的值来设置物理内存与 NVMe 存储的百分比。更多内容和细节请查看 VMware KB 95944 知识库文章底部的内存分层技术指南文档。

现在,内存分层(Memory Tiering)技术还只是预览版,可以在实验室或者测试环境评估该功能,只能通过 ESXCLI 或者 PowerCLI 命令行进行配置,不过在未来的发行版本中,也许可以直接在 UI 管理界面进行应用。下面来看看具体的配置过程。

首先,ESXi 主机必须安装 8.0 U3 及以上版本来支持内存分层功能,请记住这里现在的物理内存“容量”。

然后,使用了一块 Samsung 970 EVO 250 GB 的 NVMe 硬盘进行测试,请记住这里的“路径”以及“容量”。

1.SSH 登录到 ESXi 主机。

ssh z4g4.mulab.local

2.运行 ESXCLI 命令启用内存分层功能。

esxcli system settings kernel set -s MemoryTiering -v TRUE

3.创建特定 NVMe 设备以用于内存分层。

esxcli system tierdevice create -d /vmfs/devices/disks/t10.NVMe____Samsung_SSD_970_EV0_250GB_______________5C71B5815A382500

4.查看用于内存分层的 NVMe 设备。

esxcli system tierdevice list

5.配置用于内存分层的 NVMe 设备与物理内存的百分比。

esxcli system settings advanced set -o /Mem/TierNvmePct -i 100

6.ESXi 主机内存分层功能配置过程。

7.完成配置后,重新启动 ESXi 主机使配置生效,再次查看 ESXi 主机的内存!当前内存容量=物理内存容量+NVMe 存储容量。

是不是很神奇?你的下一代内存何必是内存?还不赶紧用起来?内存分层都来了,内存池化还远吗?!

标签:ESXi,NVMe,分层,内存,VMware,内存容量
From: https://www.cnblogs.com/juniormu/p/18346057

相关文章

  • CentOS7:VMware虚拟机磁盘(/sda3)扩容
    随着时间的推移,要装的东西越来越多,加上之前创建虚拟机的时候没有太过关注磁盘资源分配,导致资源利用率地下。今天就来实现下磁盘扩容进行操作前请对相关重要数据进行备份或者拍张快照处理/sda3空间不足问题扩容前可以看到这块磁盘的使用率已经达到98%了,现在就是要对这块磁......
  • 图像识别与处理之Opencv——Mat_类与Mat 类的内存管理
    Mat_类Mat_类是对Mat类的一个包装,其定义如下点击查看代码template<typename_Tp>classMat_:publicMat{public://只定义了几个方法//没有定义新的属性};这是一个非常轻量级的包装,既然已经有Mat类,为何还要定义一个Mat_类?下面我们看这段代码:点击查看代码Ma......
  • 【多线程-从零开始-伍】volatile关键字和内存可见性问题
    volatile关键字importjava.util.Scanner;publicclassDemo2{privatestaticintn=0;publicstaticvoidmain(String[]args){Threadt1=newThread(()->{while(n==0){//啥都不写......
  • 【YashanDB数据库】VMware虚拟机使用默认安装,在掉电之后数据库无法启动
    问题现象客户使用VMware虚拟机使用默认安装,部署YashanDB个人版,在掉电之后无法启动操作系统:Virtualization:VMwareOperatingSystem:CentOSLinux7(Core)CPEOSName:cpe:/o:centos:centos:7Kernel:Linux3.10.0-1160.el7.x86_64Architecture:x86-64[yashan@localho......
  • VMware Aria Operations 8.18 发布 (新增功能概览) - 多云 IT 运维管理
    VMwareAriaOperations8.18发布(新增功能概览)-多云IT运维管理通过统一的高性能平台,实现跨私有云、混合云和多云环境的IT运维管理。请访问原文链接:https://sysin.org/blog/vmware-aria-operations/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVMwareAri......
  • Redis可以通过以下几种方式来避免内存溢出
    Redis可以通过以下几种方式来避免内存溢出:设置最大内存限制:可以使用maxmemory配置项来限制Redis的最大内存使用量。当Redis的内存占用超过了设置的最大内存限制时,Redis会根据所配置的内存策略来处理数据,例如删除最近最少使用的键或者拒绝写入请求。使用内存淘汰策略:当......
  • redis如何避免内存溢出
    Redis可以通过以下几种方式来避免内存溢出:设置最大内存限制:可以使用maxmemory配置项来限制Redis的最大内存使用量。当Redis的内存占用超过了设置的最大内存限制时,Redis会根据所配置的内存策略来处理数据,例如删除最近最少使用的键或者拒绝写入请求。使用内存淘汰策略:当......
  • C++ exe程序内存占用分析
    编译 $gitclonehttps://github.com/google/bloaty$cdbloaty$cmake-Bbuild-GNinja-S.$cmake--buildbuild$cmake--buildbuild--targetinstall命令bloaty.exe --list-sourcesrmembersthe.ofilesina.afilecompileunitssourcefile......
  • 性能测试之内存瓶颈问题分析与调优
    注意:内存问题是性能分析与调优非常常见的一类问题(内存不足/内存泄露/内存溢出等)一、内存概念:计算机的存储系统分为主存储系统(内存)辅助存储系统(外存)外存:计算机的辅助存储器,包括硬盘、软盘、光盘、网络云盘等【输入-键盘,鼠标,输出-屏幕,音频视频】内存:内存(Memory)又称主存,......
  • 反射内存卡的优势与特点
    特点1.高速数据传输:‌反射内存卡能够实现极高的数据传输速度,‌这是其最显著的特点之一。‌数据传输速度可达到微秒级或百纳秒级,‌大大提升了数据处理的实时性。‌这种高速传输能力使得反射内存卡非常适用于需要实时数据共享和处理的场合12。‌2.低延迟:‌反射内存卡通过纯硬件......