当前位置: 首页 > news >正文

JVM高级性能调试

标准的JVM是配置为了高吞吐量,吞吐量是为了科学计算和后台运行使用,而互联网商业应用,更多是为追求更短的响应时间,更低的延迟Latency(说白了就是更快速度),当用户打开网页没有快速响应,调马走人,亚马逊发现每100毫秒的延迟会损失1%的销售量。

而垃圾回收机制一旦启动就引发系统暂停,导致用户请求后的响应时间延长,通常的JVM配置参数如下:

-Xms2g -Xmx2g -Xmn150m
-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=10
-XX:CMSIncrementalDutyCycle=50 -XX:ParallelGCThreads=8
-XX:+UseParNewGC -XX:MaxGCPauseMillis=2000
-XX:GCTimeRatio=10 -XX:+DisableExplicitGC

作者发现使用-XX:+UseConcMarkSweepGC有性能上百分之40的降低,而网络上各种JVM调试都推荐此配置。

使用下面配置,比UseConcMarkSweepGC 有百分之20的性能提升,且暂停时间在100微秒以下(10K 100线程)

-Xms2g -Xmx2g -Xmn150m
-XX:GCTimeRatio=2 -XX:ParallelGCThreads=8
-XX:+UseParNewGC -XX:MaxGCPauseMillis=2000
-XX:+DisableExplicitGC

垃圾回收机制
Advanced JVM Tuning for Low Pause | mindstormsicon-default.png?t=N7T8http://themindstorms.wordpress.com/2009/01/21/advanced-jvm-tuning-for-low-pause/
辅助作者观点的另外一篇实战案例JVM配置也是如上,该案例中几乎使用了Oracle的内存数据库,但是还是有问题,使用类似上述配置后得到性能提升:

XX:PermSize=512m -Xms5g -Xmx5g -XX:NewSize=756m -XX:MaxNewSize=756m -XX:SurvivorRatio=6 -XX:GCTimeRatio=2 -XX:ParallelGCThreads=8 -XX:+UseParNewGC -XX:MaxGCPauseMillis=2000 -XX:+DisableExplicitGC

http://www.lryc.cn/news/173222.html

相关文章:

  • APK的反编译,签名,对齐
  • Django(20):信号机制
  • 31.链表练习题(2)(王道2023数据结构2.3.7节16-25题)
  • 排序算法之归并排序
  • macOS 下 Termius 中文显示为乱码
  • Apifox接口测试工具详细解析
  • Python 实现 PDF 文件转换为图片 / PaddleOCR
  • 【Java基础夯实】变量声明选择包装类还是基本类型有哪些讲究?
  • 获取唯一的短邀请码
  • 大词表语言模型在续写任务上的一个问题及对策
  • Spark SQL【电商购买数据分析】
  • Google拟放弃博通自行研发AI芯片 | 百能云芯
  • 一百八十二、大数据离线数仓——离线数仓从Kafka采集、最终把结果数据同步到ClickHouse的完整数仓流程(待续)
  • 掌动智能:卓越性能的API接口测试工具
  • Flutter 基本概念
  • PHP包含读文件写文件
  • uniapp——实现base64格式二维码图片生成+保存二维码图片——基础积累
  • 【二叉树魔法:链式结构与递归的纠缠】
  • FL Studio21.0.3最新中文版下载安装详解
  • 【算法与数据结构】JavaScript实现十大排序算法(一)
  • IntelliJ IDEA使用——插件推荐
  • 编写一个会导致死锁的程序,将怎么解决?
  • Java JVM分析利器JProfiler 结合IDEA使用详细教程
  • 包含日志文件
  • 李航老师《统计学习方法》第2章阅读笔记
  • ruoyi框架修改左侧菜单样式
  • 【已解决】PyCharm里的黄色波浪线
  • 设计模式:策略模式(C++实现)
  • 网络安全深入学习第二课——热门框架漏洞(RCE—Thinkphp5.0.23 代码执行)
  • Pdf文件签名检查