JVM大對象排查

在Linux環境下查看佔用內存較多的java對象

 

  1. 使用top查看到排名靠前的java進程
  2. 查看佔用內存較多的前30名java對象 jmap -histo:live 【pid】 | head -30,也可以導出到文件中:

      jmap -dump:format=b,file=/filepath/heap.bin pid 

 

備註:如果當前用戶不是啓動java進程的用戶,使用jmap命令會報如下錯誤:well-known file is not secure

使用su切換到java用戶再執行即可;

root用戶下查看所有用戶:
cat /etc/passwd

如果查詢結果中存在很多系統類,可以使用grep命令進一步過濾出業務中的對象:

例如:

jmap -histo:live 54968 |grep com.XXX| head -30

jmap -dump:format=b,file=/filepath/heap.bin pid 

jmap -histo 54968|grep com.XXX |sort -k 2 -g -r|less

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章