jvm调优
文章平均质量分 87
健康平安的活着
再给我一次重生的机会,我将加倍珍惜,将java事业进行到底。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
jvm的调优命令jstack的调优案例以及tid&nid使用【经典】
"logback-16" #10383 daemon prio=5 os_prio=0 cpu=0.16ms elapsed=64877.58s tid=0x00007fce00003680 nid=0x5946 waiting on condition [0x00007fcacda7c000] 这些参数的含义解释说明:1)"logback-16": 线程名称:自定义的线程标识符,通常由线程创建者指定。logback表示该线程属于Logback日志框架,-16是线程编号。原创 2025-06-30 22:04:16 · 727 阅读 · 0 评论 -
jvm调优常用命令行工具
jstat -gc pid 1000 5 #1秒更新一次,显示5次。1) jmap -histo pid | head -20 查找有多少对象产生。jstack pid |grep A20 16进制线程id。jinfo -flag 参数名称 pid。原创 2025-03-16 08:48:58 · 371 阅读 · 0 评论 -
性能调优-cpu的性能指标【经典篇】
1.查看物理CPU的个数:cat /proc/cpuinfo这个虚拟机的物理cpu2个,每个物理cpu的逻辑CPU个数为1个,所以逻辑CPU的个数就是2个。原创 2025-03-03 23:07:25 · 1189 阅读 · 0 评论 -
JVM 调优篇12 通过jmap获取dump文件以及jmap介绍【经典】
jmap(JVM Memory Map):作用一方面是获取dump文件(堆转储快照文件,二进制文件),它还可以获取目标Java进程的内存相关信息,包括Java堆各区域的使用情况、堆中对象的统计信息、类加载信息等。一般来说,使用jmap指令生成dump文件的操作算得上是最常用的jmap命令之一,将堆中所有存活对象导出至一个文件之中。注意说明:1.通常在写Heap Dump文件前会触发一次Full GC,所以heap dump文件里保存的都是FullGC后留下的对象信息。原创 2025-02-28 09:47:49 · 1123 阅读 · 0 评论 -
高并发系统- 影响性能的指标信息blocked,waiting
Blocked:求锁而不得;线程处于blocked状态时,它不会占用CPU时间片线程进入blocked状态通常是因为它在等待获取一个有synchronized关键字保护的对象的锁,此时该线程被暂时阻止执行期后续代码。含有synchronized的方法,容易造成 blocked容易造成watingSleep(n),wait(n):容易造成timed_waiting不管wait是否含有时间参数,都需要notify/notifyall唤醒,其中。原创 2025-02-19 18:22:58 · 474 阅读 · 0 评论 -
JVM 调优篇11 调优常用jvm参数&垃圾收集器参数【经典】
Java HotSpot VM中-XX:的可配置参数列表进行描述;这些参数可以被松散的聚合成三类:行为参数(Behavioral Options):用于改变jvm的一些基础行为;性能调优(Performance Tuning):用于jvm的性能调优;调试参数(Debugging Options):一般用于打开跟踪、打印、输出等jvm参数,用于显示jvm更加详细的信息;原创 2024-10-14 20:18:39 · 1304 阅读 · 0 评论 -
JVM 调优篇10 使用arthas调优命令&火焰图【经典版】
1. 这个类从哪个 jar 包加载的?为什么会报各种类相关的 Exception?2.是否有一个全局视角来查看系统的运行状况?3. 有什么办法可以监控到JVM的实时运行状态?4. 怎么快速定位应用的热点,生成火焰图?原创 2024-10-11 20:26:09 · 2013 阅读 · 0 评论 -
JVM 调优篇9 调优案例6- cpu使用过载解决办法【超赞】
jstack命令生成的thread dump信息包含了JVM中所有存活的线程,里面确实是存在我们定位到的线程 ID ,在thread dump中每个线程都有一个nid,在nid=0x5b9的线程调用栈中,我们发现两个线程在互相等待对方释放资源。jstack 进程的pid | grep -A20 0x7bcf 得到相关线程的堆栈信息。如果线程死锁,那么线程一直在占用CPU,这样就会导致CPU一直处于一个比较高的占用率。查看到当前java进程使用cpu、内存、磁盘的情况获取使用量异常的进程。原创 2024-09-21 23:08:42 · 653 阅读 · 0 评论 -
JVM 调优篇8 实战案例6- 计算合理设置堆内存大小
默认的,新生代 ( Young ) 与老年代 ( Old ) 的比例的值为 1:2 ( 该值可以通过参数 –XX:NewRatio=2 来指定,就代表老年代和新生代的比例为2:1 ),即:新生代 ( Young ) = 1/3 的堆空间大小。堆大小 = 新生代 + 老年代。其中,堆的大小可以通过参数 –Xms、-Xmx 来指定。设置参数:-XX:+PrintGCDetails -XX:NewRatio=5。# 查看对应的进程ID的堆内存分配。原创 2024-09-21 08:53:37 · 498 阅读 · 0 评论 -
JVM 调优篇8 实战案例5- 逃逸分析
2.分析:-Xmx1G -Xms1G -XX:+DoEscapeAnalysis -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError。参数:-Xmx1G -Xms1G -XX:-DoEscapeAnalysis -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError。这样就无需在堆上分配内存,也无须进行垃圾回收了。这样就无需在堆上分配内存,也无须进行垃圾回收了。将堆分配转化为栈分配。如果经过逃逸分析后发现,原创 2024-09-19 23:04:48 · 768 阅读 · 0 评论 -
JVM 调优篇7 调优案例4- 线程溢出&线程数设置
报错信息:java.lang.outofmemoryError:unable to create new Native Thread。原因是: 出现这种异常,基本上都是创建了大量的线程导致的。原创 2024-09-17 14:42:00 · 627 阅读 · 0 评论 -
JVM 调优篇7 实战案例3- gc overhead limit exceed
错误就是发出了这样的信号: 执行垃圾收集的时间比例太大, 有效的运算量太小.原创 2024-09-15 19:38:28 · 1118 阅读 · 0 评论 -
JVM 调优篇7 实战案例2-元空间的调优
虽然Java 虚拟机规范把方法区描述为堆的一个逻辑部分,但是它却有一个别名叫做 Non-Heap(非堆),目的应该是与 Java 堆区分开来。垃圾收集行为在这个区域是比较少出现的,其内存回收目标主要是针对常量池的回收和对类型的卸载。当方法区无法满足内存分配需求时,将抛出 OutOfMemoryError 异常。原创 2024-09-15 10:08:25 · 786 阅读 · 0 评论 -
JVM 调优篇7 实战案例1-堆空间的调优
Full GC执行时间不到1s,Full GC执行频率不算频繁,不低于10分钟1次(>=10min/次);Minor GC执行时间不到50ms,Minor GC执行不频繁,约10秒一次;多数导致GC问题的Java应用,都不是因为我们参数设置错误,而是代码问题;在应用上线之前,先考虑将机器的JVM参数设置到最优(最适合);多数的Java应用不需要在服务器上进行GC优化;GC优化是到最后不得已才采用的手段;将转移到老年代的对象数量降低到最小;原创 2024-09-14 22:17:13 · 1241 阅读 · 0 评论 -
JVM 调优篇6 可视化性能监控工具-JVisual VM
它集成了多个JDK命令行工具,使用Visual VM可用于显示虚拟机进程及进程的配置和环境信息(jps,jinfo),监视应用程序的CPU、GC、堆、方法区及线程的信息(jstat、jstack)等,甚至代替JConsole。Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具。原创 2024-09-14 07:03:47 · 4683 阅读 · 0 评论 -
JVM 调优篇5 jvm性能监控
在用户体验至上的今天,解决好应用的性能问题能带来非常大的收益。体会1:使用数据说明问题,使用知识分析问题,使用工具处理问题。体会2:无监控、不调优!原创 2024-09-14 07:00:09 · 843 阅读 · 0 评论 -
JVM 调优篇4 jvm的垃圾回收中垃圾日志的阅读查看2
输出GC发生时的时间戳(以日期的形式,如2023-05-04T21:53:59.234+0800)在发生来及回收时,打印内存回收详细日志,并在进程退出是,输出当前内存各个区域分配情况。表示把GC日志写入到一个文件中去,而不是打印到标准输出中。输出GC发生时的时间戳。原创 2024-09-08 18:57:40 · 588 阅读 · 0 评论 -
JVM 调优篇4 jvm的垃圾回收
垃圾是指在运行程序中没有任何指针指向的对象,这个对象就是需要被回收的垃圾。原创 2024-09-08 18:37:16 · 285 阅读 · 0 评论 -
JVM 调优篇3 jvm对象的内存布局与执行引擎
1.通过new 的方式进行实例化;3.通过序列化的机制进行实例化;4.通过clone方法进行实例化。2.通过反射机制进行实例化;原创 2024-09-08 18:35:18 · 496 阅读 · 0 评论 -
JVM 调优篇2 jvm的内存结构以及堆栈参数设置与查看
一 jvm的内存模型2.1 jvm内存模型概览原创 2024-09-08 10:25:07 · 1031 阅读 · 0 评论 -
JVM 调优篇1 类的加载器与加载过程
在程序运行时将字节码或中间表示转换为机器代码。在程序运行之前将高级语言代码完全编译成机器代码。原创 2024-09-07 08:33:01 · 438 阅读 · 0 评论 -
jvm 调优篇---jvm内存调优的概述篇(含常用命令jinfo等)
输入命令: jinfo -flag NewRatio 17480。原创 2024-08-20 21:22:24 · 666 阅读 · 0 评论
分享