一、安装包
pip install memory_profiler #在pycharm中我尝试需要安装memory-profiler才可以
pip install psutil #可以提升memory-profiler性能
二、使用
在需要监视的程序前面添加修饰符
1.导入包
from memory_profiler import profile
2.修饰需要监视的程序:
@profile
def my_func():
a = [1] * (10 ** 6)
b = [2] * (2 * 10 ** 7)
del b
return a
if __name__ == '__main__':
my_func()
3.运行对应的文件:
pycham中直接运行即可,其他的没有试过
python -m memory_profiler test.py (对应的文件即可)
三、输出结果
四、保存输出结果:
fp=open('memo.log','w+') #memo.log 为文件的位置和名称
@profile(stream=fp)
五、选择小数位数:
fp=open('memo.log','w+')
@profile(stream=fp,precision=3) #precision后面为小数位数
六、常见报错
报错如下:
Traceback (most recent call last):
File "E:/code/reference/video-fall-detection/test.py", line 6, in <module>
@profile
TypeError: 'module' object is not callable
解决方法:
导入包的格式有错使用以下代码导入profile:
from memory_profiler import profile