张芷铭的个人博客

py-spy 是非侵入式 Python 性能分析工具,通过读取进程内存采样函数调用栈,生成火焰图直观展示耗时分布。

安装

1
pip install py-spy

使用方式

分析运行中的进程

1
2
3
4
5
# 查找 Python 进程 PID
ps aux | grep python

# 采样 60 秒生成火焰图
py-spy record -o profile.svg --pid 43854 --duration 60

直接启动并分析

1
py-spy record -o profile.svg -- python your_script.py

火焰图解读

维度含义
纵向(Y轴)函数调用深度,顶层是入口函数
横向(X轴)运行时间占比,越宽耗时越长
颜色区分函数块,无性能含义

点击 SVG 图中任意函数块可放大聚焦分析热点。

Comments