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

JVM常用参数

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/my.hprof

如果出现OOM情况,在/home生成my.hprof文件

  1. 注意要保证文件不存在(文件名不重复),否则会生成失败
  2. 性能损耗可以忽略不计,在导出dump时会消耗一定性能,影响时间较短。而且都出现OOM了,这个文件还是很重要的
  3. dump文件的大小一般大于Xmx,如果Xmx很大不建议开启(比如在项目中Flink使用了60个G这种,用dump了也加载不出来)
-Xms4096M

初始堆内存大小 Java启动时就会申请这么大的堆内存,如果内存不够则无法启动

-Xmx4096M

最大堆内存大小 Java堆内存可以扩大到多少

Xms和Xmx要不要相同

  • 相同的情况下,JVM内存保持稳定,不会动态调整堆内存大小,没有堆内存调整的性能开销,稳定性较好
  • 不同的情况下,JVM动态调整堆内存大小会带来性能开销,在内存资源较紧张的情况下,可以先使用小的初始内存

目前个人感觉,服务需要稳定运行,内存资源不应该是问题,就算多花点钱扩大内存,在业务运行稳定目前是不值一提的,稳定的JVM比不可测的JVM更为重要

-XX:+UseG1GC

使用G1垃圾回收器
CMS和G1怎么选择
据查询,在jdk8中,内存8G是一个分界线,低于8G时CMS性能较好,高于8G时G1性能较好,不绝对。


http://www.kler.cn/a/456897.html

相关文章:

  • RabbitMQ中的异步Confirm模式:提升消息可靠性的利器
  • 【蓝桥杯选拔赛真题85】python摆放箱子 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析
  • “技术学习”(Technical Learning)在英文中的多种表达方式
  • 实验八 指针2
  • WAP短信格式解析及在Linux下用C语言实现
  • 拓展C盘内存的方法(C盘旁边不一定是D盘)
  • 《易经》在 Java 编程中的应用
  • Flutter 异步编程简述
  • 卷积神经网络(CNN)模型 CIFAR-10 数据集 例子
  • 学习,指针和FLASH
  • 02-18.python入门基础一基础算法
  • [江科大STM32] 第五集STM32工程模板——笔记
  • rk356x 下 qt 程序 hdmi不显示鼠标图标
  • 数值分析雨课堂章节测试
  • Java重要面试名词整理(十一):网络编程
  • 渗透测试常用术语总结
  • 深入了解JSON-LD:语义化网络数据的桥梁
  • v-if 和 v-show 的区别
  • anythingllm无法获取ollama模型
  • 在线学习平台-项目技术点-后台
  • 【计组】复习总结期末
  • 8.Java内置排序算法
  • mybatisplu设置自动填充
  • Chrome被360导航篡改了怎么改回来?
  • 【若依】RuoYi二开 -< 报错 >:com.ruoyi.common.exception.ServiceException: 获取用户信息异常
  • 寄存器控制LED灯亮