JVM学习笔记(4)——JVM调优

简介: JVM学习笔记(4)——JVM调优

一、永久代和元数据区

永久代和元数据区都是方法区的具体实现,方法区是JVM的一个概念

1.7是永久代,1.8是元数据区

区别:

二、JVM调优

调优先确定,是要保证吞吐量,还是响应时间。这2个是矛盾的,响应时间越短,吞吐量就会越少

没有最好的垃圾回收器,有些垃圾回收器响应时间短,但是吞吐量小,所以需要根据业务选项合适的垃圾收集器组合。

吞吐量优先一般选: PS+PO。响应时间优先一般选:G1。不过现在一般都是要求响应时间

三、JVM开启GC日志

-XX:+PrintGCDetails  -XX:+PrintGCDateStamps  
-Xloggc:/var/log/hbase/gc-regionserver-hbase.log   
-XX:+UseGCLogFileRotation  
-XX:NumberOfGCLogFiles=10  -XX:GCLogFileSize=512k

案例分析

JVM内存设置越大,FGC耗时越长

CPU 100%问题排查

系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路

JVM优化调试使用心得与线上CPU100%原因分析

如果想看线程的jstack,就得把线程号转为16进制再 jstack,前面要加0x。如果想看进程的jstack,直接jstack加上线程号就行,但是他会列出进程下的所有线程

重点关注线程的状态:Waiting

关注这个Waiting on,表明该线程在等待什么

怎么找持有这把锁的线程?

搜索jstack dump信息,找,看哪个线程持有这把锁

线上系统,内存特别大,执行jmap指令执行期间会对进程产生很大影响,甚至卡顿,慎用

目录
相关文章
|
13天前
|
运维 Java Shell
手工触发Full GC:JVM调优实战指南
本文是关于Java应用性能调优的指南,重点介绍了如何使用`jmap`工具手动触发Full GC。Full GC是对堆内存全面清理的过程,通常在资源紧张时进行以缓解内存压力。文章详细阐述了Full GC的概念,并提供了两种使用`jmap`触发Full GC的方法:通过`-histo:live`选项获取存活对象统计信息,或使用`-dump`选项生成堆转储文件以分析内存状态。同时,文中也提醒注意手动Full GC可能带来的性能开销,建议在生产环境中谨慎操作。
|
3天前
|
监控 算法 Java
JVM调优-简介(一)
JVM调优-简介(一)
5 0
|
1月前
|
设计模式 NoSQL Java
京东面试:如何进行JVM调优?
JVM 调优是一个很大的话题,在回答“如何进行 JVM 调优?”之前,首先我们要回答一个更为关键的问题,那就是,我们为什么要进行 JVM 调优? 只有知道了为什么要进行 JVM 调优之后,你才能准确的回答出来如何进行 JVM 调优? 要进行 JVM 调优无非就是以下两种情况: 1. **目标驱动型的 JVM 调优**,如,我们是为了最短的停顿时间所以要进行 JVM 调优,或者是我们为了最大吞吐量所以要进行 JVM 调优等。 2. **问题驱动型的 JVM 调优**,因为生产环境出现了频繁的 FullGC 了,导致程序执行变慢,所以我们要进行 JVM 调优。 所以,针对不同的 JVM 调
38 1
|
18天前
|
Java 应用服务中间件 Linux
Tomcat 调优及 JVM 参数优化
Tomcat 调优及 JVM 参数优化
|
25天前
|
存储 算法 Java
JVM性能调优:内存模型及垃圾收集算法
JVM性能调优:内存模型及垃圾收集算法
30 0
|
1月前
|
Arthas 人工智能 监控
JVM工作原理与实战(三十五):性能调优
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了性能调优、性能调优案例等内容。
35 1
|
1月前
|
缓存 监控 Java
深入理解Java虚拟机(JVM)性能调优
【4月更文挑战第18天】本文探讨了Java虚拟机(JVM)的性能调优,包括使用`jstat`、`jmap`等工具监控CPU、内存和GC活动,选择适合的垃圾回收器(如Serial、Parallel、CMS、G1),调整堆大小和新生代/老年代比例,以及代码优化和JIT编译策略。通过这些方法,开发者能有效提升应用性能并应对复杂性挑战。性能调优是持续过程,需伴随应用演进和环境变化进行监控与优化。
|
1月前
|
监控 负载均衡 算法
JVM工作原理与实战(三十二):GC调优
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了GC调优、GC调优的核心指标等内容。
26 0
|
1月前
|
监控 Java
【JVM】深入理解JVM调优
【JVM】深入理解JVM调优
17 0
|
1月前
|
缓存 监控 Java
Java从入门到精通:3.3.1性能优化与调优——学习Java的性能优化技巧,如JVM调优
Java从入门到精通:3.3.1性能优化与调优——学习Java的性能优化技巧,如JVM调优