上一篇介绍了jmap基本的应用,接着就要讲jmap的重点!!导出内存映像文件,而导出的方式分为两种:手动、自动。这篇会先介绍如何手动导出hprof文件
jmap -dump:[live,] format=b, file=<filename> <pid>
任何时候想导出皆可使用此指令进行,但要注意!!若程序出现崩溃OutOfMemoryError: Java heap space
,手动的方式肯定是来不及汇出文件,只要一出现上面这错误,tomcat的process便会直接停止,故也无法进行dump了。
package Controller;
import java.util.ArrayList;
public class JmapDump{
public static void main(String[] args) throws InterruptedException{
Thread.sleep(15000);
ArrayList<String[]> list = new ArrayList<>();
for(int x = 0;x<1001;x++){
String[] arr = new String[1024*x];
list.add(arr);
Thread.sleep(50);
}
}
}
编译与执行的指令说明,请参考Day4-java语言编译器:javac & 运行工具:java (上)
透过jps
查看,请参考Day7-JDK查看正在运行的Java进程工具:jps
我查到我这次的进程是6597,以下示范的指令记得将6597改为欲查看的进程id喔!
jmap -dump:format=b,file=manual.hprof 6597
✎tips
OutOfMemoryError: Java heap space
manual.hprof
)在程序刚运行没多久,第二次(档名:manual1.hprof
)在接近69秒时,档案大小差异满大的!!75.1MB与3.74GB的差异
File exists
讯息下篇会接着介绍如何自动导出hprof文件
<<: D21 Django-bootstrap 网站美化工程 (1)
首先考虑范围内的资产更为有效,因为业务中断,知识产权泄漏和数据隐私不合规是范围内资产所产生的影响或...
功能测试时很常需要删掉坏掉的资料库纪录,这时就需要重置测资,但每次都开管理工具来做太麻烦了,写个小工...
请参考之前的文章:第二篇 5. 修改pynput if event_type == Quartz.N...
Chap.VI Management + Governance 管理方法 Advisor 概观 这边...
今天我们会利用上一篇的 分页组件 范例来做更改,不过差别在於,这次我们父子组件的沟通不是透过 pro...