Java教程

Java内存分析脚本

本文主要是介绍Java内存分析脚本,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

常用的java进程内存分析工具有
1、JDK自带的 jvisualvm.exe
2、阿里巴巴开源的 arthas 工具(命令交互)

除了以上两款工具,还可以使用jvm自带的命令如 jmap、jstack等,编写成一个脚本定时执行
每隔一段时间 dump内存快照, 打印jvm内存使用率,线程栈,对象大小等信息,脚本如下(java-analyse.bat)

java-analyse.bat

 1 :: author@old-pub 2022-07-25
 2 :: Java进程内存分析脚本
 3 ::==========================
 4 chcp 65001
 5 @title java-analyse
 6 @echo off
 7 setlocal enabledelayedexpansion
 8 
 9 set /p pid=请输入JAVA进程号(PID):
10 set /p interval=请输入分析间隔时间,建议300(单位:秒):
11 set /a var=0
12 md java-analyse-pid-%pid%
13 set dir=java-analyse-pid-%pid%
14 
15 echo.
16 echo ===============================================================================
17 echo 正在持续分析中,分析结果请查看目录 [java-analyse-pid]
18 echo ===============================================================================
19 echo.
20 
21 :start
22 
23 set /a var = %var% + 1
24 jstack %pid%>>%dir%\jstack-%var%.txt
25 jmap -heap %pid%>>%dir%\heap-%var%.txt
26 jmap -histo %pid%>>%dir%\histo-%var%.txt
27 jmap -dump:format=b,live,file=%dir%\dump-%var%.hprof  %pid%
28 
29 timeout /T %interval% /NOBREAK
30 
31 goto start
32 
33 pause

 

这篇关于Java内存分析脚本的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!