Python 查看程序内存占用情况
flyfish
psutil 这里用在查看内存占用情况
memory_profiler输出每一行代码增减的内存
安装
pip install memory_profiler
代码
import numpy as np
import os
import psutil
import gc
from memory_profiler import profile
@profile
def test():
a=np.full(shape=(600, 700), fill_value=99.0)
return a
if __name__ == '__main__':
a=test()
print('A:%.2f MB' % (psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024))
del a
gc.collect()
print('B:%.2f MB' % (psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024))
如果没有from memory_profiler import profile这句代码,执行终端命令如下
python -m memory_profiler test.py
结果
Line # Mem usage Increment Occurences Line Contents
============================================================
10 53.8 MiB 53.8 MiB 1 @profile
11 def test():
12 56.8 MiB 3.0 MiB 1 a=np.full(shape=(600, 700), fill_value=99.0)
13 56.8 MiB 0.0 MiB 1 return a
A:56.83 MB
B:53.83 MB
本文介绍了使用Python的psutil库来监测程序运行时的内存占用情况,并通过memory_profiler库详细分析了内存消耗。示例代码创建了一个全为99.0的600x700数组,展示了其内存分配和释放的过程。
3万+

被折叠的 条评论
为什么被折叠?



