使用 async-profiler 具体实践步骤

async-profiler 是一个对 Java 应用影响很小的 profiler 工具, 不仅能 sample Java 栈, 还能获取 perf event 的数据.

常见的基本步骤:

  1. 下载最新 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
  2. 解压, 并给运行 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
  3. 执行 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
  4. 展示

    sudo nc -v -4 -l 7070 < f.log.html
    sudo nc -v -l -p 7070 < f.log.html

    http://server.tianxiaohui.com:7070/

https://github.com/jvm-profiling-tools/async-profiler

标签: none

添加新评论