随着服务器内存和CPU核数据越来越多,如何充分利用服务器硬件资源?如下图所示JAVA官方公布图一,说明单个CPU服务器垃圾收集造成吞吐量降低1%,30核CPU效率下降20%,查看下图中红色线条。

本文主要描述和研究https://www.spec.org/ 公开JVM性能报告,本文采用jbb2015测试结果中使用DELL服务器R640测试报告。JVM虚拟机中哪些参数对系统性能和吞吐量影响巨大。本文主要研究在相同CPU计算能力,采用不同内存配置,如何显著影响到程序性能。

根据公开jbb2015测试结果选取DELL服务器R640 2个测试报告,测试报告中硬件配置除了内存768G和384G差异之外,其他硬件配置都相同2个28核2.5GHz Intel Xeon-SP 8180M CPU,操作系统都采用SUSE Linux Enterprise Server 12 SP2版本,虚拟机采用Oracle Java SE 8u131版本,如下图所示。

测试JVM参数除了红色部分使用内存不同之外,其他参数都相同如下:

-showversion -server -XX:+AlwaysPreTouch -XX:+UseParallelOldGC -XX:-UseAdaptiveSizePolicy -XX:MaxTenuringThreshold=15 -XX:+PrintTenuringDistribution -XX:-UseBiasedLocking -XX:+AggressiveOpts -XX:+UseLargePages -XX:LargePageSizeInBytes=2m -XX:SurvivorRatio=26 -XX:TargetSurvivorRatio=95 -Xms180g -Xmx180g -Xmn178g -XX:ParallelGCThreads=28 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps

-showversion -server -XX:+AlwaysPreTouch -XX:+UseParallelOldGC -XX:-UseAdaptiveSizePolicy -XX:MaxTenuringThreshold=15 -XX:+PrintTenuringDistribution -XX:-UseBiasedLocking -XX:+AggressiveOpts -XX:+UseLargePages -XX:LargePageSizeInBytes=2m -XX:SurvivorRatio=26 -XX:TargetSurvivorRatio=95 -Xms29g -Xmx29g -Xmn27g -XX:ParallelGCThreads=28 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps

我们再来看看测试结果如下图所示:

max-jOPS差异不大,主要是原因CPU相同,因此服务器计算性能几乎相同;

但critical-jOPS差异还是和明显,参见黄线和绿线;JVM 29g的critical-jOPS得分43257,JVM180g critical-jOPS得分69059;critical-jOPS主要在1秒钟完成计算结果并且成功返回,互联网很多应用都需要及时反馈用户响应。

结论:增加JVM内存将明显提高JVM运行响应速度,但不是线性增长,内存相差6倍,性能提升50%,这个JVM运行的程序相关。-Xms -Xmx -Xmn参数对于优化JVM虚拟机运行参数非常重要;必须要了解JVM运行程序最大max heap,同时将大部分内存留给年轻代。-Xms180g -Xmx180g -Xmn178g 虚拟机最大分配180g,初始化分配180g,年轻代分配178g。

java xms xmx xmn_JAVA 虚拟机JVM参数调优(1)-Xms -Xmx -Xmn相关推荐

  1. JVM参数调优总结 -Xms -Xmx

    "-Xmx1024m -Xms1024m -Xmn512m -Xss256k"--Java运行参数(转) JVM的堆的内存, 是通过下面面两个参数控制的 -Xms 最小堆的大小, ...

  2. JVM参数调优总结 -Xms -Xmx -Xmn -Xss

    "-Xmx1024m -Xms1024m -Xmn512m -Xss256k"--Java运行参数(转) JVM的堆的内存, 是通过下面面两个参数控制的 -Xms 最小堆的大小,  ...

  3. Java面试之JVM参数调优

    JVM参数调优 前言 你说你做过JVM调优和参数配置,请问如何盘点查看JVM系统默认值 使用jps和jinfo进行查看 -Xms:初始堆空间 -Xmx:堆最大值 -Xss:栈空间 -Xms 和 -Xm ...

  4. Java JVM参数调优配置

    JVM参数调优配置 Java虚拟机原理 Java内存结构 堆.栈.方法区概念区别 Java堆 Java栈 Java方法区 虚拟机参数配置 什么是虚拟机参数配置 堆的参数配置 设置最大堆内存 设置新生代 ...

  5. Java架构学习(十二)java内存结构新生代老年代JVM参数调优堆内存参数配置解决堆栈溢出

    JVM参数调优与垃圾回收机制 一.java内存结构 Java内存模型:是多线程里面的,jmm与线程可见性有关 Java内存结构:是JVM虚拟机存储空间. Java内存结构图 Java内存机构分为:方法 ...

  6. JVM参数调优,无停滞实践

    参考:http://www.cjsdn.net/post/print?bid=62&id=198084 JVM参数调优是个很头痛的问题,设置的不好,JVM不断执行Full GC,导致整个系统变 ...

  7. JVM参数调优详细过程

    本文来说下讲一下JVM参数调优详细过程 文章目录 概述 概述

  8. JVM参数调优利器 —— XXFox

    好东西就是要拿出来与大家分享,本篇介绍一款可视化.能根据不同环境提供优化建议的JVM参数调优工具. 一只懂JVM参数的狐狸,来自于PerfMa.旨在帮助大家更好地了解JVM参数,使用JVM参数,并对现 ...

  9. java虚拟机调优_Java虚拟机中JVM参数调优及其有用的命令

    3.1参数及调优 1.-XX:-HeapDumpOnOutOfMemoryError:当首次遭遇内存溢出时Dump出此时的堆内存. 2.-XX:HeapDumpPath=./java_pid.hpro ...

最新文章

  1. iOS 取四舍五入取平均值
  2. android siri 源码,Android的SIRI 。
  3. windows下python搭建网站_Windows平台下搭建Pytest
  4. 清除重复记录只保留一条
  5. Java的io类的使用场景
  6. 2019长安大学ACM校赛网络同步赛 L XOR (规律,数位DP)
  7. bash shell函数的定义及变量的简单说明
  8. MySql 你知道 order by 是怎么回事吗? MySql全字段排序与 rowid 排序
  9. 第14章 使用Kotlin 进行 Android 开发
  10. java 单例模式_谈谈Java中的单例模式
  11. ibm服务器单盘从装系统,thinkpad系统重装图文详解
  12. Python数据可视化 Pyecharts 制作 Map3D 三维地图
  13. 图解 Python 编程(5) | 运算符(附要点速查表·完结)
  14. 《线性代数》同济六版 总结
  15. VB2010的串口能正常接收数据,但无法发送数值大于127的数据
  16. SSMS(sql server管理工具)修改表不允许保存
  17. 计算机电源管理器怎么打开,联想电源管理软件打不开怎么办
  18. java冒泡排序代码
  19. 下载keep运动软件_Keep下载_Keep安卓版下载_Keep app下载-太平洋下载中心
  20. Cadence OrCAD Capture原理图检查之逐个元件Part检查的方法

热门文章

  1. sparkSQL之调优
  2. 4,Java三目运算符和数组
  3. CSS学习笔记之选择器(一)
  4. JetBrain(Pycharm,Clion...)的使用优化
  5. SpringCloud微服务-----面试内容
  6. linux防火墙(firewalld和iptables)
  7. 云原生的前世今生(一)
  8. oracle trunc 函数处理日期格式
  9. 独立站即web3.0,国家“十四五“规划要求企业建数字化网站!
  10. cntk 2.5 win10 vs2017 编译(Cpuonly)