Java 检查内存溢出方法
操作步驟
1、用cmd命令打開dos窗口,操作進入jdk的bin目錄
或者path環境變量包含jdk的bin目錄,也可執行后續命令。
2、查看堆內存快照,輸出jvm的heap內容到文件, live子選項是可選的,假如指定live選項,那么只輸出活的對象到文件
jmap -dump:live,format=b,file=myjmapfile.txt <進程id>
3、jhat 查看dump的文件內容的分析內容,會顯示端口并提示打開瀏覽器查看
jhat <文件名>
4、根據提示的端口,打開瀏覽器,訪問該http地址
http://localhost:<port>
其他命令
獲取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>
總結
以上是生活随笔為你收集整理的Java 检查内存溢出方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sketchpad正版不是从试用版出来的
- 下一篇: PR第三次作业笔记