标签:脚本 -% set java analyse pid% echo 内存 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
标签:脚本,-%,set,java,analyse,pid%,echo,内存,Java 来源: https://www.cnblogs.com/oldpub-blog/p/16517155.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。