【jvm内存占用过高分析】
生活随笔
收集整理的這篇文章主要介紹了
【jvm内存占用过高分析】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【jvm內存占用過高分析】
1、首先進入服務容器內
//獲取服務容器名稱 kubectl get pods |grep <服務名稱>// 進入容器內部 kubectl -it exec <上一步獲取的服務對應的容器名稱> bash2、使用top命令
top觀察占用CPU或者MEN(內存)使用情況最高的進程,記錄PID;
3、使用top -p PID 命令
top -p PID觀察該PID對應進程的占用情況
shift + h然后使用shift + h 命令------->開啟線程顯示,觀察CPU/Men占用較高的線程有哪些,記錄對應TID;
4、將線程對應的堆棧信息導出
jstack PID > jstack.txt查看該線程的堆棧信息
5、獲取對應的線程的TID
printf "%x\n" TID將線程對應TID轉為 16進制數(TID16);
6、從導出的堆棧信息查看該TID對應的信息
cat jstack.txt | grep TID16查看當前占用內存高的線程具體在做什么操作,分析原因
7、查看存活的對象
jmap -histo:live PID查看當前堆內存中存在哪些存活對象
8、查看GC的情況
jstat -gcutil PID 1000 3查看gc情況
總結
以上是生活随笔為你收集整理的【jvm内存占用过高分析】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全球及中国汽车轻触开关行业发展展望及投资
- 下一篇: 基于SSM框架的网上购物送货系统