![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java-排障、调优
文章平均质量分 56
yichudu
code anything
展开
-
Arthas java应用诊断
文章目录耗时分析类的实例信息参考使用场景常规的查问题方法是 {加日志, 断点调试}, 都要中止当前进程且对源码有侵入, 不够理想.Arthas 利用JDK 的 能力, 相当于用于站在虚拟机的视角, 提供多方位的探查能力.耗时分析todo类的实例信息watch 执行方法所在类 方法 'target'例子: 类Son是Dad的子类, 字段名有重复, 想确切知道赋值是否符合预期,参考官方文档, Arthasarthas 表达式, 核心变量arthas 表达式, 命令列表..原创 2022-02-11 17:43:45 · 452 阅读 · 0 评论 -
jvm 参数小结
1.内存相关-Xmx //Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;-Xms //Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;-Xmn //Java Heap 新生代大小,不熟悉最好保留默认值;-Xss //每个线程的Stack大小,原创 2016-04-29 18:56:06 · 765 阅读 · 0 评论 -
jmeter 性能压测工具
1.下载apache官网下载。推荐zip文件,解压后双击 bin/ApacheJMeter.jar 即可打开。2.测试过程2.1 创建线程组添加|threads。见图1-1 。2.2 设置请求参数选中已创建的线程组 | 右击添加Sampler。以简单的Http Get请求为例,见图2.3 查看结果选中已创建的线程组 | 右击添加监听器。有原创 2016-11-17 17:03:27 · 442 阅读 · 0 评论 -
GC日志的可视化分析
GC日志的格式不够友好,人看起来很费劲.所以给大家推荐两个好用的GUI分析工具,导入gc.log即可生成图文并茂报告的界面.GC日志如何得到?推荐使用以下命令:-Xloggc:/home/admin/logs/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseG1GC -XX:MaxGCPauseMillis=300下文原创 2016-12-02 16:19:30 · 9990 阅读 · 0 评论 -
NoClassDefFoundError 排查思路
1.问题场景school-1.1.0.jar中没有Student类。school-1.1.1.jar中有Student类。虽然在pom中指定了引入的是school-1.1.1.jar,但可能maven打包后只有school-1.1.0.jar而没有school-1.1.1.jar。那么运行时就会报错java.lang.NoClassDefFoundError。2.命令#执行此命原创 2016-10-25 22:36:20 · 1087 阅读 · 0 评论 -
G1 收集器
G1是一款面向服务端应用的垃圾收集器。初次发布是在JDK 7这一版本中。长久的目标是替代CMS收集器。1.介绍1.1 G1收集器通过下面一些方法实现了高性能和减少暂停时间的目的首先将Java堆空间划分为一些大小相等的区域(region),每个区域都是虚拟机中的一段连续内存空间。G1通过执行并发的全局标记来确定整个Java堆空间中存活的对象。标记阶段完成后,G1就知道哪些区域基本上是空闲原创 2016-11-17 11:26:16 · 668 阅读 · 0 评论 -
jvm 垃圾判定与垃圾回收器
对象存活判定引用计数法为每个对象维护一个引用计数器,每当有一个地方引用它时,此计数器+1,当引用失效时,计数器-1.当计数器变为0时就说明此对象可以被回收。计数器+1的情况有:赋值给一个引用,放入一个容器等。计数器-1的情况有:原引用指向其他的对象。引用计数法并没有被用在java虚拟机中,因为它不能解决对象间循环引用问题。如:class MyClass{public Ob原创 2015-07-27 11:16:29 · 782 阅读 · 0 评论 -
Thread Dump与Analyzer
线程转储文件中有什么呢?包含每一个线程的状态及调用堆栈信息。1.thread dump jstack pid 可以输出堆栈信息到控制台,可用重定向命令写入到文件中。2.分析结果为普通文本,可以直接阅读。形如:2016-11-04 23:53:16Full thread dump OpenJDK 64-Bit Server VM (24.95-b01 mixed mod原创 2016-11-05 02:37:11 · 2311 阅读 · 0 评论 -
Heap Dump与Analyzer
1.heap dump2.visual VM简单分析3.Memory Analyzereclipse的一个插件。原创 2016-10-29 19:15:16 · 1108 阅读 · 0 评论 -
jvm GC日志解读
1.Parallel Scavenge这是一款年轻代GC器。293.271: [GC [PSYoungGen: 300865K->6577K(310720K)] 392829K->108873K(417472K), 0.0176464 secs] [Times: user=0.06 sys=0.00, real=0.01 secs] 每行是一次GC的信息,以本条为例,解读如下。293.原创 2016-05-04 10:21:27 · 4462 阅读 · 0 评论 -
GC 的混乱之处
1.两个survivor的名字在gclog中,from space永远指向不为空的那一块survivor space,也就是说时而s0,时而s1。那直接用s0 和 s1好了,还发明新名词干嘛?图1-1 gclog截图在下图中,可以清楚地看到,minorGC时,s1+eden区域被清空,活着的对象被复制到s0中。图1-2 jstat -gcutil截图2原创 2016-11-03 14:54:35 · 474 阅读 · 0 评论 -
jvm内存模型
jvm内存模型见图1.图1 jvm内存模型permanent space为永久空间;heap space为堆空间,它又分为新生代空间与老年代空间。新生代空间它又可以分为3部分。Eden spaceEden ['i:dən] n. 伊甸园(《圣经》中亚当和夏娃最初居住的地方)from spaceto space老年代空间原创 2015-06-05 10:21:44 · 705 阅读 · 0 评论