一、命令
jmap
内存分析:
1、jps #查到服务的进程
2、jmap -histo 进程号 #查看历史生产的实例
2.1、 jmap - histo pid | head -20 查看前20 个
3、jmap -histo:live 进程号 #查看当前存活的实例,执行过程中可能会触发一次full gc
4、jmap -histo:live 进程号 >.abc.txt #将实例的统计情况输出到文件
5、jmap -dump:format=b,file=eureka.hprof 进程号 #堆栈详细信息输出到flie指定的文件
6、jmap -heap pid :查看各个内存使用情况
jstat
upc分析:
5、top 查询cpu占比高的java进程
6、jstat -gc pid 500 0 #每5秒小时pid进程的gc情况。其中EC EU表示年轻代的容量、使用量。OC、OU是老年代的容量、使用量
7、ps aux | grep PID #这个进程是哪来的。属于当前状态的采样数据
8、ps -mp pid -o THREAD,tid,time #这个进程下所有线程的情况,包含cpu占比、占用cpu的时长。属于当前状态的采样数据
9、printf “%x\n” tid #将线程id转换为16进制
10、jstack pid |grep tid -A 30
11、pstree -p [pid] | wc -l #查看该进程的线程数量
别的shell命令
1、cat abc.log | grep "jdresponse code=403" -c 【-c是统计出现的次数】
二、工具
jdk自带的jvisualvm
第三方Arthas
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律