java 如何排查内存溢出_java 内存溢出排查
測(cè)試代碼,如下示例:
import java.util.ArrayList;
import java.util.List;
/**
* @Description 測(cè)試內(nèi)存溢出, 啟動(dòng)時(shí)設(shè)置參數(shù),最大堆內(nèi)存為1m, 內(nèi)存溢出時(shí)dump出內(nèi)存文件 -Xmx1m -XX:+HeapDumpOutOfMemoryError
* @Author luzy
* @Date 2018/10/5 11:02
*/
public class testOOM {
public static void main(String[] args) {
List list=new ArrayList<>();
while (true){
list.add("1234567890");
}
}
}
運(yùn)行時(shí),設(shè)置jvm參數(shù):-Xmx1m -XX:+HeapDumpOutOfMemoryError
意思是:最大堆內(nèi)存為1m, 當(dāng)內(nèi)存溢出時(shí)dump出內(nèi)存文件。
執(zhí)行后會(huì)在classpath下產(chǎn)生 內(nèi)存文件
接下來(lái)可以使用IBM HeapAnalyzer(下載地址),對(duì)內(nèi)存文件進(jìn)行分析。
執(zhí)行如下命令啟動(dòng)IBM HeapAnalyzer
通過(guò)界面,打開(kāi)dump文件
可以看到內(nèi)存中對(duì)象所占用的內(nèi)存比例
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的java 如何排查内存溢出_java 内存溢出排查的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 降维和聚类的区别
- 下一篇: 二分排序(java)