简单研究一下async-profiler
async-profiler是一款Java 性能分析工具,我们来简单使用一次看看效果。
可以直接去github地址下载,下载后在linux下解压。
进入目录后执行./profiler.sh,会出现example:
一般用 ./profiler.sh -d 30 -f profile.html 3456 即可。-d 表示采样时间多少秒, -f是输出目的文件,3456是被采样java进程id。
编写一个程序用来测试,这里我们使用JAVA案例代码中的JAVA案例类HotCode。
jps查看进程ID是4550
开始采样(需要注意要给用户写的权限):
查看HotCode.html文件:
可以对其进行分析改善程序性能。
还是上面运行的程序,进程 PID 还是 4550,这次使用 -e 参数分析内存使用情况。
命令:./profiler.sh -d 20 -e alloc -f HotCodeAlloc.html 4550
命令的意思是收集进程号是 4550的进程的内存信息 20 秒,然后输出文件。
20秒后得到html 文件使用浏览器打开,可以看到内存分配情况。
以上就是async-profiler工具的简单使用,还是蛮实用的。