参考原博文:https://blog.csdn.net/weixin_34026276/article/details/85930598 Java VisualVM默认没有安装Visual GC插件,需要手动安装,JDK的安装目录的bin目录下双击jvisualvm.exe,即可打开Java Vis ...
分类:
其他好文 时间:
2021-02-20 12:43:16
阅读次数:
0
一、Jmap,Jstack,Jinfo命令详解 二、Jvisualvm调优工具实战 三、JVM内存或CPU飙高如何快速定位 四、Jstat命令预估JVM运行情况 五、系统频繁FullGC导致系统卡顿实战调优 六、内存泄漏到底是怎么回事 ...
分类:
其他好文 时间:
2021-02-01 11:37:18
阅读次数:
0
前言说jvm的内存模型前先了解一下物理计算机的内存处理。物理计算器上用户磁盘和cpu的交互,由于cpu读写速度速度远远大于磁盘的读写速度速度,所以有了内存(高速缓存区)。但是随着cpu的发展,内存的读写也跟不上cpu的读写速度了,cpu的产商就给每个cpu加入了一个高速缓存,也就是下面的结构。JVM组成解析运行时数据区运行时数据区中包括:栈、堆、方法区(元空间)、本地方法栈、程序计数器。详细概念在
分类:
其他好文 时间:
2020-09-17 12:44:01
阅读次数:
25
监控工具:jvisualVM、VisaulVM、jprofiler JVM优化书籍:《Java性能优化权威指南》、《深入理解java虚拟机》 1.年轻代空间不足 2.per Gen(永久代)空间满 3.CMS GC时出现promotion failed和concurrent mode failure ...
分类:
其他好文 时间:
2020-07-14 10:36:50
阅读次数:
187
一、jmx 方式 加上如下启动参数,以 tomcat 为例,修改 bin\catalina 文件,在开始位置添加 JAVA_OPTS JAVA_OPTS="-Djava.rmi.server.hostname=192.168.8.229 -Dcom.sun.management.jmxremote. ...
分类:
其他好文 时间:
2020-07-11 09:44:49
阅读次数:
92
在利用jvisualvm.exe搞一个关于生产者消费者的一个纠结的问题,我们已经看到如何在生产者消费者模型中,由于队列的不安全导致消费者一直空转的情况,已经如何解决该问题。接下来我们继续跟踪该问题的其他几种并发情况,现在先把代码中的关键那一行休眠注释掉,还是用LinkedList作为队列跑一下,结果 ...
分类:
其他好文 时间:
2020-07-09 00:39:49
阅读次数:
86
先看代码: package com.wlf.service; import java.util.LinkedList; import java.util.Queue; import java.util.concurrent.LinkedBlockingQueue; /** * 生产者消费者模拟 * ...
分类:
其他好文 时间:
2020-07-08 22:41:29
阅读次数:
48
kill -3 [java pid] 不会在当前终端输出,它会输出到代码执行的或指定的地方去。比如,kill -3 tomcat pid, 输出堆栈到 log 目录下。 Jstack [java pid] 这个比较简单,在当前终端显示,也可以重定向到指定文件中。 -JvisualVM:Thread ...
分类:
编程语言 时间:
2020-06-21 09:37:25
阅读次数:
73
一、启动普通的jar程序 1、执行foo.jar启动命令 java -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.au ...
分类:
编程语言 时间:
2020-06-05 10:30:45
阅读次数:
193
当服务器启动多个tomcat后,我们在资源管理器里查找进程全是java.exe,无法区分。 1、命令行下执行jdk自带的jvisualvm.exe程序 里面显示了当前正常运行的tomcat以及进程ID 2、命令行下执行需要查看的指定监听端口的JAVA进程ID 可以看到443端口是被进程ID为3260 ...