发表时间:2022-03-25来源:网络

常言说得好:工欲善其事,必先利其器。好的工具可以让工作事半功倍,我们日常开发工作更是如此,话不多说,今天我们就以一问一答的形式认识几款Java工具!Let's go!
问:检查内存泄露的工具有? 答:jmap生成dump转储文件,jhat可视化查看。 问:某进程CPU使用率一直占满,用什么工具可以排查? 答:top -Hp pid找到最占CPU的线程 然后jstack来查找那个线程此时所处的堆栈,确定问题发生位置。各工具详细介绍
jstack pid
查看死锁例子如下图,找到wait的lock和已被锁的lock
查看等待IO例子:

统计加载了多少类以及占用空间 jstat -class pid
统计编译了多少文件 jstat -compiler 10
问:jstat -gcutil {pid} 2000 可以每隔2秒,对pid进程打印内存使用统计信息。 gcutil的输出如下:
里面哪个百分比如果长期处于99%-100%会有OMM风险?(OutOfMemoryError)
答:如果E和O即新生代、老年代内存区一直都处于满的状态,则很有可能会引发OMM风险。就像下面这个。

jmap
全称:JVM Memory Map 作用:生成进程的内存堆快照 当需要看一下进程里是什么东西占用了过多内存时, 可以用jmap打印一下堆快照。 命令用法:打印堆快照:
jmap -dump:file=./dumpfile.dump 进程pid查看特定类所占用的情况:
jmap -histo:live 进程pid | grep 类名 问:用jmap检查内存泄漏实例 我分了3次,每个1h调用jmap查看进程的内存实例,查看该时刻各对象数量 第一次查看情况如下:
第二次隔了2个小时,查看情况如下:
请问哪个对象可能有内存泄漏风险?
答:ObjectA可能有泄露, 因为他的对象数量增加最快,说明对象一直在增加且很多无法进行gc释放。



-END-


●《智慧园区数字平台开发300问.pdf》发布,学完你就是小专家!

皓盘云建最新版下载v9.0 安卓版
53.38MB |商务办公
ris云客移动销售系统最新版下载v1.1.25 安卓手机版
42.71M |商务办公
粤语翻译帮app下载v1.1.1 安卓版
60.01MB |生活服务
人生笔记app官方版下载v1.19.4 安卓版
125.88MB |系统工具
萝卜笔记app下载v1.1.6 安卓版
46.29MB |生活服务
贯联商户端app下载v6.1.8 安卓版
12.54MB |商务办公
jotmo笔记app下载v2.30.0 安卓版
50.06MB |系统工具
鑫钜出行共享汽车app下载v1.5.2
44.7M |生活服务
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-03-26
2022-02-15
2022-02-14