一、常用GC参数(20个左右即可)

1、各种垃圾回收器的参数

PS + PO 常用的只有几十个

CMS的比较多,不建议使用

G1的常用参数简单

ZGC只有三个参数

二、OOM出现的方式

1、写一个让内存溢出的函数

(1)简单案例-list,往list内部添加元素

main方法的根对象往里装

(2)复杂案例-模拟数据库读取数据,结果记录传输

使用了线程池

回收的内存越来越小--吃内存的情况

最后,不停full gc

每次回收几K

最终产生OOM

查不出来的bug-进行重启

2、推荐一个垃圾回收相关的功能-Arthas

最常用:dashboard-对系统的观察

各个代的回收算法

使用jvm查看默认的命令

3、观察哪些对象在吃内存-排查(实际调优经验)

jps 查看进程编号

jmap -histo 进程ID  | 20

4、如何回答

(1)jmap会暂停堆内存,对内存产生巨大影响×

(2)java 启动的时候配置HwapDownOutOfMemory

一旦发生OOM,会导出一个文件

对文件进行分析

(3)堆内存超级大时,如何定位问题

上述工具,24小时分析不出来结果

四、调优实战

1、java相关命令

java -version

java:java的所有参数

-开头,表示

java的标准参数

2、non-standard,非标准参数,以-X开头的

参数:java -X

程序最小内存,最大内存

3、另外一种参数-XX

java -XX:+PrintFlagsFinal,加more分页

728个参数

【JVM调优】Day03:GC参数、OOM出现方式、调优实战的更多相关文章

  1. JVM调优:GC 参数

    2019独角兽企业重金招聘Python工程师标准>>> JVM调优:GC 参数 博客分类: java jvm 参考: <Memory Management in the Jav ...

  2. jvm系列(六):Java服务GC参数调优案例

    本文介绍了一次生产环境的JVM GC相关参数的调优过程,通过参数的调整避免了GC卡顿对JAVA服务成功率的影响. 这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题. ...

  3. 管中窥豹——从对象的生命周期梳理JVM内存结构、GC调优、类加载、AOP编程及性能监控

    如题,本文的宗旨既是透过对象的生命周期,来梳理JVM内存结构及GC相关知识,并辅以AOP及双亲委派机制原理,学习不仅仅是海绵式的吸收学习,还需要自己去分析why,加深对技术的理解和认知,祝大家早日走上 ...

  4. 【JVM】调优笔记3-----JVM参数配置 JDK1.8

    一.关于JVM参数配置,有多种途径. 1.在tomcat中直接配置的 打开tomcat的安装目录, 在bin下修改catalina.bat文件 添加如下: set "JAVA_OPTS=-X ...

  5. jvm参数设置和性能调优

    1.Java虚拟机运行时的数据区 2.常用的内存区域调节参数 -Xms:初始堆大小,默认为物理内存的1/64(<1GB):默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40% ...

  6. 阿里P8Java大牛仅用46张图让你弄懂JVM的体系结构与GC调优。

    本PPT从JVM体系结构概述.GC算法.Hotspot内存管理.Hotspot垃圾回收器.调优和监控工具六大方面进行讲述.图文并茂不生枯燥. 此PPT长达46页,全部展示篇幅过长,本文优先分享前十六页 ...

  7. Spark(八)JVM调优以及GC垃圾收集器

    一JVM结构 1 Java内存结构 JVM内存结构主要有三大块:堆内存.方法区和栈. 堆内存是JVM中最大的一块由年轻代和老年代组成,而年轻代内存又被分成三部分,Eden空间.From Survivo ...

  8. 深入浅出 JVM GC(4)常用 GC 参数介绍

    # 前言 从前面的3篇文章中,我们分析了5个垃圾收集器,还有一些 GC 的算法,那么,在 GC 调优中,我们肯定会先判断哪里出现的问题,然后再根据出现的问题进行调优,而调优的手段就是 JVM 提供给我 ...

  9. JVM学习十:JVM之垃圾收集器及GC参数

    接近两个月左右没有写博客,主要是因为小孩过来后,回家比较忙,现在小孩端午送回家了,开始继续之前的JVM学习之路,前面学习了GC的算法和种类,那么本章则是基于算法来产生实际的用途,即垃圾收集器. 一.堆 ...

  10. java 性能调优和GC

    JAVA 性能调优和GC http://blog.csdn.net/gzh0222/article/details/7663181 JAVA GC调优手记 http://blog.csdn.net/f ...

随机推荐

  1. 海康摄像机使用GB28181接入SRS服务器的搭建步骤---源码安装的方式

    下载代码 地址:https://github.com/ossrs/srs-gb28181 https://github.com/ossrs/srs-gb28181.git 注意:使用的是含有gb281 ...

  2. Deployment故障排除图解

    PDF文件下载地址:https://files.cnblogs.com/files/sanduzxcvbnm/troubleshooting-kubernetes.pdf

  3. Ubuntu20.04和Docker环境下安装Redash中文版

    创建Ubunt20.04虚拟机,请参考:https://www.linuxidc.com/Linux/2020-03/162547.htm 一.安装基础环境: # 1.更换APT国内源 sudo se ...

  4. 教程:Android手机安装Debian+Wine,打造完全开源的兼容Windows的GNU/Linux!

    构建好的系统下载见这里: https://www.cnblogs.com/tubentubentu/p/16721884.html 测试的Android版本: 10 首先下载安装Real VncVie ...

  5. TDengine的数据建模?库、表、超级表是什么?怎么用?

    ​欢迎来到物联网的数据世界 在典型的物联网场景中,一般有多种不同类型的采集设备,采集多种不同的物理量,同一种采集设备类型,往往有多个设备分布在不同的地点,系统需对各种采集的数据汇总,进行计算和分析对于 ...

  6. logback.xml详解

    介绍 之前博文有专门介绍过基于Log4j Appender 实现大数据平台组件日志的采集, 本篇主要对java项目中经常会接触到的logback.xml文件的配置做一个介绍和总结. logback.x ...

  7. 2022年最新编辑Linux基础知识总结

    文章目录 1.Linux的目录结构 2.远程操作Linux和上传文件到Linux 3.文本编辑 4.快捷键 5.登录.注销.关机.重启 6.用户管理 6.1 .新用户注册 6.2.使用新用户登录 6. ...

  8. Aspose.Words 操作 Word 画 EChart 图

    使用 Aspose.Words 插件在 Word 画 EChart 图 使用此插件可以画出丰富的 EChart 图,API 参考 https://reference.aspose.com/words/ ...

  9. 【高并发】深度解析ScheduledThreadPoolExecutor类的源代码

    在[高并发专题]的专栏中,我们深度分析了ThreadPoolExecutor类的源代码,而ScheduledThreadPoolExecutor类是ThreadPoolExecutor类的子类.今天我 ...

  10. 使用doctest代码测试和Sphinx自动生成文档

    python代码测试并自动生成文档 Tips:两大工具:doctest--单元测试.Sphinx--自动生成文档 1.doctest doctest是python自带的一个模块.doctest有两种使 ...