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

本节书摘来华章计算机《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


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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289851.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何检查服务已在依赖注入容器中注册

前言依赖关系注入(DI),是一种在类及其依赖项之间实现控制反转(IoC)的技术。在ASP.NET Core中,依赖关系注入是“一等公民”,被大量使用。但是有时,我们仅仅只需要知道服务是否在依赖注入容器中已注册。比如,不注册使用分…

java多核的利用率_java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算

java利用FutureTask、ExecutorService 在多核时代充分利用CPU运算FutureTask、ExecutorService 相关知识,请看java,API一个使用FutureTask简单的例子:package com.spell.threads;import java.util.concurrent.Callable;import java.util.concurrent.Exec…

iOS9 Storyboard unwind segue反回传递事件时机详细步骤

当返回上一个界面且需要上一个界面做某事时,用unwind segue实现起来比delegate简单许多,甚至有时不适合用delegate来实现,那么我们就用unwind segue吧,而且像1->2->3这样的跳转,3视图可以通过unwind segue方便的返回到1、2任…

Eclipse之如何导入arr文件

1、arr文件 aar是android module中所有resource文件和编译后的java文件的总压缩包 aar除了包含class文件,还包含resource文件 2、eclipse如何导入arr文件 1)、解压arr文件,一般可以看到很多文件,比如aidl文件夹,jni…

ios俩个APP之间跳转、传值

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的。 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString [NSString stringWithFormat:"AppJumpSecond://%",textField.tex…

地理信息学专业软件大全

1. Envi 5.0 SP3 , Envi 5.0 SP3 License-32

java 只有日期的类_JAVA日期和时间类彻底解决(1)[转]

Whats your time zone?JAVA日期和时间类彻底解决(1)Page 1 of 3你是否在苦苦挣扎在JAVA语言中的日期和时间中?当你在计算机上显示日期和时间时,, 是否要快一个小时?或者可能要早一个小时?, 或者两个小时, 或者更严重?…

.Net Core手撸一个基于Token的权限认证

说明权限认证是确定用户身份的过程。可确定用户是否有访问资源的权力今天给大家分享一下类似JWT这种基于token的鉴权机制基于token的鉴权机制,它不需要在服务端去保留用户的认证信息或者会话信息。这就意味着基于token认证机制的应用,不需要去考虑用户在哪一台服务器…

Mybatis-Generator(MBG)教程与Idea的MBG插件

简介 Mybatis Generator(MBG),下面我们统称为MBG,是一个Mybatis和iBatis的代码生成器。他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的基础对象。这样减少了项目新建时各种配置对象&#x…

net MVC 重定向总结

[HttpPost]public ActionResult StudentList(string StudName, string studName, DateTime BirthDay, FormCollection form, string controller, string Action, StudentModels student){//其中StudName为aspx页面中标签的name属性(StudName不区分大小写)//其中BirthDay为页面中…

Android之华为meta10 pro安卓8.0绑定服务(bindService)失败解决办法

1、问题 Intent intent new Intent("com.gsta.ukeyesurfing.service.UkeyService"); boolean result bindService(intent, mKeyServiceConnection, Context.BIND_AUTO_CREATE) result结果是false, android 8.0绑定服务失败 2、解决办法 这个服务需要…

Windows Server 2008 RemoteApp---发布应用程序

本章节一起来体验RemoteApp应用程序发布功能,本功能利用了微软应用程序虚拟化技术,打个比方,我这台电脑上并没有安装Excel2010,但我现再要用Excel2010该怎么办?难道去找Office2010的光盘来安装吗?不用这么麻…

【GIS风暴】最新全球(全国)土地利用数据集下载地址大全汇总

目 录 1. GlobeLand30 2. 地理空间数据云 3. 马里兰大学数据集 4. Modis MCD12(MODQ1\MODQ2)

.NET 中密封类的性能优势

.NET 中密封类的性能优势Intro最近看到一篇文章 Performance benefits of sealed class in .NET,觉得写得不错,翻译一下,分享给大家。目前看到的一些类库中其实很多并没有考虑使用密封类,如果你的类型是不希望被继承的&#xff0c…

java 视图对象转换_java-如何从onItemSelected()方法返回的视图对象...

onItemSelected()方法应该返回一个View作为其对象之一,在这种情况下,它是一个TextView,通过在Logcat中获取该对象的描述和哈希值进行了验证,因此该View实际上是一个TextView.通过此处显示的方法返回的视图public void onItemSelected(AdapterView> parent, View view, int p…

jQuery-1.9.1源码分析系列(十) 事件系统——事件绑定

事件绑定的方式有很多种。使用了jQuery那么原来那种绑定方式(elem.click function(){...})就不推荐了,原因? 最主要的一个原因是elem.click fn这种方式只能绑定一个事件处理,多次绑定的只会保留最后一次绑定的结果。 看一下jQue…

Windows 8系统平台上应用软件安装心得

1.ArcGIS 10.2安装 需要单独安装.NET 3.5,GIS软件自带的.NET系统不识别,点击360云盘地址进行下载(提取码为:1ed3)。(另外,Win8系统上安装.NET可以参考:http://blog.csdn.net/aijavaer/article/d…

JavaFX 一 出生新手村(阅读小规则)

我就不讲IDE怎么装的,网上有的是,我仅仅是说说我学习过程中遇到的,该注意的东西 1.JavaFX刚開始出是基于脚本script开发的语言,所以网上会有流传比較多关于script的JavaFX,对于被甲骨文大大(Oracle)改版后的JavaFX已经不太有用了,如今都基本靠java代码编程了,所以网上找到的scr…

Android之jni编译出现multiple definition of ‘××××ב

1、问题 编译ndk代码的时候提示 multiple definition of 2、原因 多个文件包含同一个头文件时,在Android.mk文件里面写了2个文件 _src_files : \common/A.cpp\common/A.cpp\ 3、解决办法 去掉一个文件,然后再次编译。

Android视图绘制流程完全解析,带你一步步深入了解View(二)

转自:http://blog.csdn.net/guolin_blog/article/details/16330267 在上一篇文章中,我带着大家一起剖析了一下LayoutInflater的工作原理,可以算是对View进行深入了解的第一步吧。那么本篇文章中,我们将继续对View进行深入探究&…