JVM
今夕何夕%
靡不有初,鲜克有终!
展开
-
arthas的使用
背景:一次线上问题的综合排查排查,两个相同的系统的某个模块,数据量更少的系统查询更慢。先说下整体思路:查看系统整理负载,网络有100左右毫秒的延迟,看起来影响不大 查看正序运行整体情况,一次查询会经历3次FGC,有问题,解决后虽然会快一些但是还是有点慢 跟踪调用栈,发现有点在获查询结果的时候特别慢 排查是否有mysql慢查询(定义为1秒以上的查询),结果是没有 通过arthas发...原创 2020-03-13 15:59:56 · 520 阅读 · 0 评论 -
JVM中GC算法
1.神魔是垃圾回收程序的运行必然需要申请内存资源,无效的内存资源如果不及时的处理就会一直占用内存资源,最终导致内存溢出,所以内存资源的管理就非常有必要的。2.垃圾回收常见的算法2.1 引用计数法相互引用原理:假如有一个对象A,任何一个对象对A的引用,那么对象A的引用计数器就会增加1,当引用失败时候,对象A的引用就减去一,如果对象的A计数器的值为0,就说明...原创 2020-03-07 15:16:07 · 246 阅读 · 0 评论 -
VisualVM工具的使用
1.找到自己jdk的安装目录,找到C:\Program Files\Java\jdk1.8.0_211\bin\jvisualvm.exe,双击即可,如图2.监控远程的JVM在tomcat的bin文件夹下修改catalina.shJAVA_OPTS=“-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxrem...原创 2020-03-03 17:54:13 · 174 阅读 · 0 评论 -
Jvm中jstack的使用
1.有时候需要我们查看jvm中线程的执行情况,比如发现cpu负载突然增高了,出现了死锁,死循环等,那我们如何分析呢?这个时候由于程序是正常运行的,没有任何输出,从日志方面也看不出什么问题,所以就需要查看jvm内部线程的的执行情况,然后在查找出原因。这个时候就需要用到 jstack命令了#查看自己java程序的进程号jps -l # 11665是进程号jstack 11665...原创 2020-03-03 16:27:25 · 265 阅读 · 0 评论 -
关于jvm的一些命令和工具
一 .#查看运行的java程序的进程号jps#查看正在运行的hava程序的jvm参数 后面是进程号jinfo -flags 11665二 . jstat命令查看堆内存使用情况1。 查看类加载统计jstat [-命令选项][vmid][间隔时间/毫秒][查询次数]-loaded : 加载class数量 -Bytes : 所占空间大小 -Unloaded...原创 2020-03-03 15:25:20 · 170 阅读 · 0 评论