一句话总结:从问题现象为入口,归结为3类问题进行定位分析:内存满、CPU高、线程阻塞。 首先先介绍下jvisualvm这款jdk自带的性能工具。通常我们要定位哪块代码性能差,耗时久,最原始的办法就是在各个方法前后日志打印时间戳并计算耗时,这种方法很繁琐,通常要加很多日志多次部署才能定位到,我一开始也 ...
分类:
编程语言 时间:
2018-10-27 10:59:48
阅读次数:
291
MAT内存分析工具 MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器。可以用于查找内存泄露以及查看内存消耗情况。MAT是基于Eclipse开发的,是一款免费的性能分析工具。读者可以在下载并使用MAT。 1 初识MAT 在分析堆快照前,首先需要导出应用程序的堆快照。 ...
分类:
系统相关 时间:
2018-10-21 14:15:40
阅读次数:
277
很多资料在介绍JDK命令行工具时并不是在Java8环境下,因此还在使用过时的永久区系列的参数,给一些读者造成困难。 Java8使用Metaspace(元空间)代替永久区,对于64位平台,为了压缩JVM对象中的_klass指针的大小,引入了类指针压缩空间(Compressed Class Pointe ...
分类:
其他好文 时间:
2018-10-18 19:21:48
阅读次数:
359
监控Tomcat 无论是使用Zabbix、还是jconsole等其他工具,当需要监控Tomcat时,需对Tomcat进行jmx配置。此处以Linux系统为例,配置Tomcat。 注意: 下文中出现的:$TOMCATHOME 代表Tomcat安装的路径;$JAVA_HOME代表Java jdk的安装路 ...
分类:
其他好文 时间:
2018-10-01 19:14:40
阅读次数:
177
jvisualVm是jdk自带的可视化监控工具,功能很强大,可安装各种扩展插件。本篇不打算讲解如果使用详细的功能,只讲在windows环境怎么监控本地和远端(一般是无界面的linux系统)的java进程。 1、在远程机器上添加权限策略文件 在服务器{JAVA_HOME}/bin目录建立文件:jsta ...
分类:
其他好文 时间:
2018-10-01 12:52:34
阅读次数:
177
https://www.jdon.com/idea/jvm-gc.html 场景: https://www.cnblogs.com/yszzu/p/9648579.html 查看大对象到底占用多少内存 GC回收的策略 ...
分类:
其他好文 时间:
2018-09-14 21:37:05
阅读次数:
160
1. 描述 jvisualvm是JDK自带的监控工具,位于JDK bin目录下面。 默认jvisualvm不能监控远程的JVM进程,需要进行一些配置。 2. 单独在应用上配置JVM启动参数 在Java启动时,配置如下参数: -Djava.rmi.server.hostname=192.168.23. ...
分类:
其他好文 时间:
2018-09-12 11:09:24
阅读次数:
142
/opt/jdk/jdk1.8/bin/java-Dcom.sun.management.jmxremote.port=12345-Djava.rmi.server.hostname=192.168.64.129-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=false-Xdeb
分类:
其他好文 时间:
2018-08-30 20:05:13
阅读次数:
174
多次调用同一个对象的某个方法: 输出结果: ...
分类:
编程语言 时间:
2018-08-29 21:25:52
阅读次数:
216
jinfo:可以输出并修改运行时的java 进程的opts。 jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。 jmap:打印出某个 ...
分类:
其他好文 时间:
2018-08-22 15:02:48
阅读次数:
166