使用 async-profiler 具体实践步骤
async-profiler 是一个对 Java 应用影响很小的 profiler 工具, 不仅能 sample Java 栈, 还能获取 perf event 的数据.
常见的基本步骤:
下载最新 async-profiler, 并且复制到远程目标机器
scp ~/async-profiler-1.7.1-linux-x64.tar.gz user1@server.tianxiaohui.com:/home/user1 rsync ~/async-profiler-1.7.1-linux-x64.tar.gz user1@server.tianxiaohui.com:/home/user1
解压, 并给运行 Java 应用的用户执行权限
mkdir /tmp/profiler tar -xvf -C /tmp/profiler/ async-profiler-1.7.1-linux-x64.tar.gz sudo chown -R app1:app /tmp/profiler/ sudo chmod -R 755 /tmp/profiler
执行 profiler
/tmp/profiler/profiler.sh -e itimer -d 60 -o svg -f c.log.html 74211 /tmp/profiler/profiler.sh -e lock -d 60 -o svg -f f.log.html --reverse 74211 /tmp/profiler/profiler.sh -e com.ebay.configuration.console.CalServlet.service -d 60 -o svg -f f.log.html --reverse 74211 /tmp/profiler/profiler.sh -d 30 -e itimer -o svg -t --reverse -f t.log.html 74211
展示
sudo nc -v -4 -l 7070 < f.log.html sudo nc -v -l -p 7070 < f.log.html