jvm原理及性能调优系列(jvm调优)

JVM设置:

1、设置合适的最大堆内存(新生代和老生代的最大和值)和最小堆内存(jvm启动时占用的操作系统内存大小),及设置好堆的比例分配。

2、设置合适的新生代 因为对其对系统性能和GC回收有一定的影响。

3、设置合适的持久代 因为其直接决定系统可以支持多少个类定义和多少个常亮。

4、设置合适的线程栈 否则系统可能因为线程所需资源和空间不够而异常退出。

5、设置合适的垃圾回收器参数

常用调优方法:

1、将新对象留在新生代,可以为新生代对象分配一个合理的内存空间,避免直接向老年代压缩。因为新生代回收效率高,能够提高GC回收效率。

2、大对象进入老年代,避免占用空间过多,导致挤压新生代进入老年代,导致GC回收效率过低,性能紧张。

3、设置对象进入老年代的年龄。

4、设置合适的稳定与震荡对大小。

5、对吞吐量有要求的可以考虑并行收集器。

6、对于Solaris系统,JVM支持大页的使用,能够增加CPU的寻址能力,从而提升性能。

7、对于要求降低停顿的,可以使用CMS垃圾收集,提高GC性能,较少收集次数。

综述,对于JVM调优的过程有:确定对内存大小(-Xmx  -Xms)、合理分配新生代(-XX:NewRatio  -Xmn  -XXSurvivorRatio)和老年代、确定永久区大小、选择垃圾收集器、对垃圾收集器进行合理的设置。除此之外,禁用垃圾收集器、禁用元数据、禁用类验证等也有一定的帮助。

posted on 2016-02-23 11:42 NWNS-无风无影 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/guohui-y/p/5209371.html

jvm原理及性能调优系列(jvm调优)相关推荐

  1. JVM原理和性能调优

    JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.exe来完成,通过下面4步来完成JVM环境. 1.创建JVM装载环境和配置 2.装载JVM.dll 3.初始化JVM.dll并挂界 ...

  2. 性能监控/优化系列——JVM监控/调优

    JVM监控 1. ParNew表示CMS收集器在新生代采用多线程进行垃圾回收.DefNew表示顺序垃圾收集器在新生代采用单线程进行垃圾回收. 2.系统做完CMS cycle后,观察minorGC的日志 ...

  3. JVM原理及性能调优

    注明:转载文章.好记性不如烂笔头呀~ 一.什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际 ...

  4. jvm原理与性能调优

    文章目录 一.JVM内存结构 1.运行时数据区 2.直接内存 二.JVM中的对象 1.对象的创建 2.对象的内存布局 3.对象的访问定位 三.垃圾回收算法和垃圾回收器 1. 如何判断对象是已死 2.分 ...

  5. 【JVM调优】JVM原理与性能调优

    一.参考资料 今日头条https://www.toutiao.com/i7007696978586976805

  6. 精华推荐 | 【JVM深层系列】「GC底层调优系列」一文带你彻底加强夯实底层原理之GC垃圾回收技术的分析指南(GC原理透析)

    前提介绍 很多小伙伴,都跟我反馈,说自己总是对JVM这一块的学习和认识不够扎实也不够成熟,因为JVM的一些特性以及运作机制总是混淆以及不确定,导致面试和工作实战中出现了很多的纰漏和短板,解决广大小伙伴 ...

  7. 肝了 15000 字性能调优系列专题(JVM、MySQL、Nginx and Tomcat),看不完先收藏

    前言 性能调优,无疑是个庞大的话题,也是很多项目中非常重要的一环,性能调优难做是众所周知的,毕竟性能调优涵盖的面实在是太多了,在这里我就大概的讲一下企业中最常用的四种调优--JVM 调优.MySQL ...

  8. JVM原理、调优、GC

    转自:https://www.jianshu.com/p/63fe09fe1a60 jvm原理 Java虚拟机是整个java平台的基石,是java技术实现硬件无关和操作系统无关的关键环节,是java语 ...

  9. Java工程师必备:JVM原理、内存模型、调优、垃圾回收机制、面试题

    在如今这个时间和知识都是碎片化的时代,C站根据C1-C4认证的成长路径,进行知识细化整理,形成系统化的知识图谱. 通过调研一线互联网大厂的招聘JD,小编对标C站能力认证要求,为大家整理了系列技术干货合 ...

最新文章

  1. css层叠上下文详解,CSS定位(层叠上下文)
  2. Android开发之播放量点赞量打赏量收藏量单位格式化工具类
  3. ADSL路由器的设置
  4. linux mysql5.7启动失败/tmp/mysql.sock ?
  5. java访问同一个变量_java – 从另一个类访问变量
  6. SQL数据库语言基础之SqlServer数据表的六大约束(主键、外键、检查、非空、唯一性、默认值约束)的创建
  7. html img设置最底层,在HTML片段中设置img标签的baseUrl
  8. 7-4 panic和recover
  9. 如何连接一个Linux服务器
  10. 如何去掉快捷方式上的小箭头
  11. mysql以性别分组_sql语句 根据年纪阶段统计人数 根据性别分组
  12. 升级安装win11 22H2(跳过TPM和CPU等检测)
  13. 解决麦克风声音小的方法
  14. CentOS 7 系统部署之四:磁盘扩容与调整
  15. 车载兴起已成必然,最新《Android车载操作系统开发指南》开源分享
  16. visa基本函数操作
  17. 电商基本模块-促销服务
  18. 淦、我的服务器又被攻击了
  19. React 原理揭秘总结
  20. 【Spring Security入门】06-QQ登录实现

热门文章

  1. YOLOv3目标检测有了TensorFlow实现,可用自己的数据来训练
  2. OpenCV属性页配置问题~
  3. 图像数据转换成db(leveldb/lmdb)文件(转)
  4. linux 内核模块开发,linux内核模块开发(示例代码)
  5. java 反射 ibm_Java编程语言构建IBM InfoSphere Streams程序(3)
  6. php 拖拽 上传文件 进度,在Vue中如何实现带进度条的文件拖动上传功能
  7. html5 制作商品显示介绍,HTML5+CSS3:3D展示商品信息示例
  8. luogu P4070 [SDOI2016]生成魔咒
  9. 13.函数式编程:匿名函数、高阶函数、装饰器
  10. JavaScript常用数组操作