串行内存消耗 并行内存_如何估算内存消耗?

串行内存消耗 并行内存

这个故事可以追溯到至少十年之前,当时我第一次接触PHB时遇到一个问题:“在生产部署中,我们需要购买多大服务器”。 我们正在构建的新的,闪亮的系统距离生产开始还有9个月的时间,显然该公司已承诺提供包括硬件在内的整个解决方案。

天哪,我有麻烦了。 凭借几年的经验,我几乎可以掷骰子了。 尽管我确信我完全缺乏信心是显而易见的,但我仍然不得不想出答案。 四个小时的谷歌搜索之后,我想起坐在那里,同样的问题仍然徘徊在我眼花bed乱的脸前:

“如何估算对计算能力的需求?”

在本文中,我为您提供了有关如何估算全新Java应用程序的内存需求的粗略指导,从而开始了这一主题。 对于不耐烦的用户,答案是从大约等于5 x [Live Data占用的内存量]的内存开始,然后从那里开始进行微调。 对于那些对背后的逻辑更加好奇的人,请留在我身边,我将带您进行推理。

首先,我只能建议避免在没有详细信息的情况下回答这样的问题。 您的答案必须基于性能要求,因此,即使没有先澄清这些要求也不要开始。 我的意思不是太含糊的“系统需要支持700个并发用户”,而是考虑到数据量和使用模式而提出的有关延迟和吞吐量的更多具体说明。 也不要忘记预算-我们所有人都可以梦到亚毫秒级的延迟,但是那些没有HFT银行骨干预算的人们-不幸的是,这只是一个梦想。

现在,假设您已具备这些要求。 下一站将是创建模拟用户行为的负载测试脚本。 如果现在可以同时启动这些脚本,那么您已经为答案奠定了基础。 正如您可能已经猜到的那样,下一步涉及我们通常建议的不要猜测的建议。 但是要注意。

实时数据大小

即,我们追求最佳内存配置需要捕获实时数据大小。 捕获了这一点之后,我们就可以进行微调的基线配置了。

如何定义实时数据大小? Charlie Hunt和Binu John在他们的“ Java Performance ”书中给出了以下定义:

实时数据大小是在稳定状态下运行应用程序所需的一组长期对象消耗的堆大小。

有了定义,我们准备在打开GC日志记录的情况下对应用程序运行负载测试(-XX:+ PrintGCTimeStamps -Xloggc:/tmp/gc.log -XX:+ PrintGCDetails),并可视化日志(使用例如gcviewer的帮助)来确定应用程序达到稳定状态的时间。 您所追求的类似于以下内容:

规划能力

我们可以在熟悉的双锯齿图形中看到GC在次要GC和Full GC运行中都能完成工作。 在第21秒运行第一个完整GC之后,该特定应用程序似乎已经达到稳定状态。 但是,在大多数情况下,需要10到20个完整GC运行才能发现趋势变化。 在运行了四个完整的GC之后,我们可以估计实时数据大小大约等于100MB。

前面提到的Java Performance书现在表明,在典型的Java EE应用程序中,“实时数据大小”与最佳内存配置参数之间存在很强的相关性。 该领域的证据也支持他们的建议:

将最大堆大小设置为3-4 x [实时数据大小]

因此,对于当前的应用程序,我们应该将-Xmx设置为介于300m和400m之间,以进行初始性能测试,然后从那里开始进行测试。

我们对本书中的其他建议有不同的看法,建议将最大永久代大小设置为1.2-1.5 x [永久代的实时数据大小],并将-XX:NewRatio设置为[[实时数据大小]。 目前,我们正在收集更多数据以确定正相关性是否存在,但是在此之前,我建议您将生存和简化配置的决定基于监视分配率。

您现在可能会问为什么要打扰。 的确,有两个原因不引起立即关注:

  • 在撰写本文时,8G内存芯片的价格不到100美元
  • 虚拟化,特别是在使用大型供应商(例如Amazon AWS)时,使调整容量变得容易

这两个原因都是部分有效的,并且肯定减少了精确配置的需求。 但是他们两个仍然把你置于危险区域

  • 当“以防万一”投入大量内存时,您很可能会显着影响延迟-进入8G以上的堆时,引入跨越数十秒的Full GC暂停非常容易。
  • 当以“稍后再调整”的思想进行过度配置时,“后期”部分趋向于永不满足。 正因为如此,我面对了许多在预置环境上运行的应用程序。 例如,我发现在Amazon EC2 m1.xlarge实例上运行的上述应用程序使该公司每年每实例花费4,200美元。 将其转换为m1.small可以使实例的账单减少到520美元。 如果您的部署规模很大,则可以从您的运营预算中看到8倍的成本降低,请相信我。

摘要

不幸的是,我仍然看到太多的决策完全像十年前我被迫做的那样。 这会导致容量规划不足和规划过度,两者都是同样糟糕的选择,尤其是在您无法享受虚拟化优势的情况下。

我很幸运,但是您可能不会与您的客户见面,所以我只建议您使用本文中描述的简单框架进行实际计划。

参考: 如何估算内存消耗? 由我们的JCG合作伙伴 Nikita Salnikov Tarnovski在Plumbr Blog博客上获得。

翻译自: https://www.javacodegeeks.com/2014/01/how-to-estimate-memory-consumption.html

串行内存消耗 并行内存

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

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

相关文章

【渝粤题库】国家开放大学2021春1377理工英语3题目

试卷代号:1377 2021年春季学期期末统一考试 理工英语3 试题 2021年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完考…

【渝粤题库】国家开放大学2021春1400机器人技术及应用题目

试卷代号:1400 2021年春季学期期末统一考试 机器人技术及应用 试题 2021年7月 一、单项选择题(每小题3分,共45分) 1.以下具有越障能力的轮系是( )。 A.锥形轮、变形车轮、半步行轮 B.全向轮、变形车轮、半步…

Java,JavaFX的流畅设计风格滑块

JMetro的Java,JavaFX主题版本刚刚提高到4.2版。 此版本为Slider控件带来了新样式。 除此之外,您现在还可以看到一个弹出窗口,向您显示滑块的当前值。 新滑块样式 以下是旧的JMetro Slider样式: 滑块OLD JMetro灯光主题 滑块OLD…

【渝粤题库】国家开放大学2021春1443卫生信息与文献检索题目

试卷代号:1443 2021年春季学期期末统一考试 卫生信息与文献检索 试题(开卷) 2021年7月 一、单项选择题(每小题2分,共50分,每小题仅有一项答案正确,请将正确答案的序号填在括号内) 1.…

【渝粤题库】国家开放大学2021春1703农村发展理论与实践题目

试卷代号:1703 2021年春季学期期末统一考试 农村发展理论与实践 试题 2021年7月 一、单选题(20题,每题3分,共60分) 1.在农村发展的“参与式方法”中,“参与”意味着有相应的机制保障( &#xff…

【渝粤题库】国家开放大学2021春1375Matlab语言及其应用题目

试卷代号:1375 2021年春季学期期末统一考试 Matlab语言及其应用 试题 2021年7月 一、单选题(12小题,每小题3分,共36分) 1.如果想将矩阵A第2行第3列的元素改为66,可以通过( )语句来完…

【渝粤题库】国家开放大学2021春1379人文英语3题目

试卷代号:1379 2021年春季学期期末统一考试 人文英语3 试题 2021年7月 注意事项 一、将你的学号、姓名及分校(工作站)名称填写在答题纸的规定栏内。考试结束后,把试卷和答题纸放在桌上。试卷和答题纸均不得带出考场。监考人收完考…

如何利用ide进行跟踪调试_使用调试器进行事后跟踪

如何利用ide进行跟踪调试我最近一直在使用的大多数调试器的好功能是能够在断点上记录信息。 这对于理解代码而无需修改是非常有用的,因为它涉及字节码修改。 让我们考虑一下这种非常琐碎且效率低下的函数实现,以返回斐波那契数列中的第n个数字。 publi…

在树洞里,渝粤题库在线整理

在树洞里 在树洞里,我看到了一些领国家助学金的同学大手大脚,也看到了一些同学好像并不困难,我更看到了许多拿了学校的奖励,可是连写感谢信都不愿意写,觉得很麻烦的同学。我想把我的故事讲给你们听。 我来自单亲家庭…

【渝粤题库】国家开放大学2021春1708农业产业发展规划题目

试卷代号:1708 2021年春季学期期末统一考试 农业产业发展规划 试题 2021年7月 一、单项选择题(每题2分,共30分) 1.概念规划兴起于20世纪六七十年代,最早源于城市规划领域。我国概念规划的第一个实例是2001年1月完成的&…

Java 11即将发布的功能–启动单文件源程序

Java 11即将完成,并且进入了下降阶段 。 好像在几周前就发布了Java 9,而在这里,距离发布Java 11不到几个月。 鉴于Java的新发行过程和时间表,这将变得司空见惯。 不管那是好事,我们都将其搁置一旁。 这里列出了Java 1…

【渝粤题库】国家开放大学2021春2018货币银行学题目

试卷代号:2018 2021年春季学期期末统一考试 货币银行学试题 2021年7月 一、单项选择题(每小题2分,共20分,每小题有一项答案正确,请将正确答案的序号填写在括号内) 1.一国国内经济可分为居民、非金融企业、政…

【渝粤题库】国家开放大学2021春2044教育研究方法题目

试卷代号:2044 2021年春季学期期末统一考试 教育研究方法 试题(开卷) 2021年7月 一、单选题(每题5分,共25分) 1.探索性研究常采用的研究方式包括( )。 A.文献调查、经验调查、典型情况或个案分析 B.调查性研…

【渝粤题库】国家开放大学2021春2094法理学题目

试卷代号:2094 2021年春季学期期末统一考试 法理学 试题. 2021年7月 一、单项选择题(每小题有四个备选答案,其中只有一个正确的,请将正确答案的序号填在题干的括号内。每小题2分,共20分) 1.分析法学派认为&…