《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.2.2 内存

简介: 本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.2.2节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

本节书摘来华章计算机《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一书中的第1章 ,第1.2.2节,[美] 克里斯托弗·库塞克(Christopher Kusek) 著 吕南德特·施皮斯(Rynardt Spies)姚海鹏 刘韵洁 译, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2.2 内存

内存是一个有限的资源。当建立内存基准时,通常会有一个固定的模式。所有事情是平等的,如果你发现应用程序、工作负载以及用例没有明显的变化,你就可以预测内存的消耗量及需求量了。
VMware懂得内存在架构中的重要性,所以VMware多年来进行了大量的投资。不管是内存过量使用、压缩还是膨胀,内存本身就是一种被分配的资源。但值得一提的是,虽然你可以在一个只有64 GB的RAM的系统上分配128 GB的RAM,但这并不意味着你总是应该这样做。对应用来说,建立内存基准是一种微妙的平衡。如果你配置了太少的内存,系统最终将交换到磁盘;如果你配置了太多的内存,最终将给系统过量提供。这种微妙的平衡经常被看作内存分配的最佳点。对大多数人来说,这个过程往往是相当随意的,取决于应用程序和操作系统。当运行32位应用程序时这样做很容易,因为系统无法处理超过3~4GB的RAM,一般建议固定分配4GB的内存。
当涉及64位操作系统和能够使用大量内存的应用程序时,你可能会假设在实际运行它并随意分配资源。结果是,一个可能只需要512MB或768MB的虚拟机被分配了1GB、2GB、4GB或更多的RAM。更进一步,如果过量构建或者过量配置如Exchange 2010这样的应用,最小都有可能是12GB、24GB甚至36GB的RAM。
图1-2显示一个分配4GB内存的Exchange 2003服务器的工作负载样例。

image


我们分析这30天中此应用程序的基准,最低约327MB,最高平均可达到1.6GB的内存分配。如同这个系统一样,所有工作负载都可能经历一个“尖峰”,可用4GB但需求超过了5.6GB,但这可以看成偶然出现的异常情况。
幸运的是,VMware使用的内存增强的方法(第5章)能够使一个意外的尖峰不会对虚拟机的操作系统和应用程序产生破坏性的影响,如6月22日的尖峰(图1-2)。
还有一个方面VMware没有忽视,那就是它可以让你足够了解,你是否为架构做出正确的决定以及这些决定的度量。通过vCenter,你可以深入了解正在运行的应用程序使用内存的细节(图1-3)。
通过图1-3我们能立刻知道,此应用程序在前30天使用低于2GB内存且运行良好,甚至在它的最高点。在虚拟机的vCenter中使用性能选项卡等工具,可以让你方便地建立基准。与物理服务器不同的是,物理服务器内存的获得需要通过虚拟化进行重大更改,而我们可以简单地关闭主机,添加额外内存,或者如果一开始碰巧供应不足我们可以把它重新联机。

image


需要确定的重要一点是,当我们为虚拟机分配内存时,永远不会有“错误的”分配。你可能为一个特定的客户分配了过少或过多的内存,但这些决定不是一成不变的。如果有需要,你可以自由地后退一步,重新增加或减少所分配的内存量。

相关文章
|
5天前
|
数据采集 存储 XML
Python实现网络爬虫自动化:从基础到实践
本文将介绍如何使用Python编写网络爬虫,从最基础的请求与解析,到自动化爬取并处理复杂数据。我们将通过实例展示如何抓取网页内容、解析数据、处理图片文件等常用爬虫任务。
|
8天前
|
存储 关系型数据库 MySQL
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
查询服务器CPU、内存、磁盘、网络IO、队列、数据库占用空间等等信息
161 1
|
13天前
|
存储 C语言
数据在内存中的存储方式
本文介绍了计算机中整数和浮点数的存储方式,包括整数的原码、反码、补码,以及浮点数的IEEE754标准存储格式。同时,探讨了大小端字节序的概念及其判断方法,通过实例代码展示了这些概念的实际应用。
26 1
|
17天前
|
存储
共用体在内存中如何存储数据
共用体(Union)在内存中为所有成员分配同一段内存空间,大小等于最大成员所需的空间。这意味着所有成员共享同一块内存,但同一时间只能存储其中一个成员的数据,无法同时保存多个成员的值。
|
19天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
58 1
|
19天前
|
机器学习/深度学习 自然语言处理 自动驾驶
神经网络有哪些应用场景呢
【10月更文挑战第14天】神经网络有哪些应用场景呢
|
21天前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
|
2天前
|
边缘计算 5G 数据处理
5G网络能耗管理:绿色通信的实践
【10月更文挑战第30天】
11 0
|
26天前
|
存储 编译器
数据在内存中的存储
数据在内存中的存储
37 4
|
27天前
|
机器学习/深度学习 存储 自然语言处理
从理论到实践:如何使用长短期记忆网络(LSTM)改善自然语言处理任务
【10月更文挑战第7天】随着深度学习技术的发展,循环神经网络(RNNs)及其变体,特别是长短期记忆网络(LSTMs),已经成为处理序列数据的强大工具。在自然语言处理(NLP)领域,LSTM因其能够捕捉文本中的长期依赖关系而变得尤为重要。本文将介绍LSTM的基本原理,并通过具体的代码示例来展示如何在实际的NLP任务中应用LSTM。
56 4