资讯动态

Java 检查内存溢出方法

发布时间:2026/10/21 20:08:04 来源:尧图企业网站定制
一、操作步骤1、用cmd命令打开dos窗口操作进入jdk的bin目录或者path环境变量包含jdk的bin目录也可执行后续命令。2、查看堆内存快照,输出jvm的heap内容到文件 live子选项是可选的假如指定live选项,那么只输出活的对象到文件jmap -dump:live,formatb,filemyjmapfile.txt 进程id3、jhat 查看dump的文件内容的分析内容会显示端口并提示打开浏览器查看jhat 文件名4、根据提示的端口打开浏览器访问该http地址http://localhost:port5、页面最下面查看统计可查看已排序的每种类的实例数量Show instance counts for all classes (including platform) Show instance counts for all classes (excluding platform)6、查看实例引用链6.1、查看所有实例列表点击其中类名前的 instances显示其所有实例列表或者点击其中一种对象进入查看信息后附所有实例列表6.2、实例列表中点击其中一个实例点击查看引用链Reference Chains from RootsetExclude weak refs Include weak refs二、其他命令获取heap的概要信息GC使用的算法heap堆的配置及JVM堆内存的使用情况jmap -heap 进程id获取每个class的实例数目,字节数,类全名信息。如果live子参数加上后,只统计活的对象数量。jmap -histo:live 进程id查看对象数最多的对象并按降序排序输出jmap -histo 进程id|grep alibaba|sort -k 2 -g -r|less查看占用内存最多的最象并按降序排序输出jmap -histo 进程id|grep alibaba|sort -k 3 -g -r|less获取正等候回收的对象的信息jmap -finalizerinfo 进程id

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑