在网上看了几个内存泄露分析工具,都要 import 什么,或者加一个装饰器
有没有那种直接在系统里运行,就能检测别的 python 进程内存使用情况的工具?
在网上看了几个内存泄露分析工具,都要 import 什么,或者加一个装饰器
有没有那种直接在系统里运行,就能检测别的 python 进程内存使用情况的工具?
|
carlonelongApr 12, 2017
1
在系统里运行,你是说一个单独的 binary 文件?
|
|
2
@carlonelong 也可以是别的 python 文件什么的,暂时没法重启那个 内存泄露的服务,更别说改代码了
|
|
MiranaApr 12, 2017
3
|
|
trent0806Apr 12, 2017
4
应该是有吧
|
|
ProjectAmberApr 12, 2017 via iPhone
5
https://gist.github.com/simonw/8aa492e59265c1a021f5c5618f9e6b12
这里提到了一种向运行中的 Python 程序关联 shell 的方法,不确定是否对解决这一问题有帮助。 |
|
janxinApr 12, 2017
6
systemtap 是一个好方法,但是需要编译 Python 的时候把一些点提前埋进去。我记得 CentOS 默认的 Python 是带的,可以直接用。其他系统 Python 需要自己打 patch 。
3.6 之后编译加参数就行了。 |
|
VYSEApr 12, 2017
7
pyrasite-shell 或 flask 提供一个看 memory 的接口就可以
|
|
gouchaoerApr 12, 2017
8
检查内存泄漏很麻烦的,命令行程序的话你定时重启就完了
|
|
janxinApr 12, 2017
9
https://github.com/emfree/systemtap-python-tools 脚本看 scripts/memtrace.stp 就可以了
|
|
ryanzyyApr 12, 2017
10
看对象的数目是没有用的
Leak 的对象在 python 里是看不见的 |
|
sagaxuApr 12, 2017
11
这个时候就知道 Java 的好了,哈哈
|
|
DamneverApr 15, 2017
12
可以借助 pyrasite
|