Python:获取函数的峰值内存使用情况(包括所有已分配但已删除的内存)

时间:2018-12-05 12:16:59

标签: python python-3.x heap-memory profile profiler

我在Windows10 OS上使用Python3.6。我需要计算给定函数的峰值内存使用率。我尝试过

import numpy as np
from numpy.linalg import pinv
from memory_profiler import profile

X = np.random.randn(300,500)

@profile
def invX(X):
    inv_X = pinv(X)   
    return inv_X
inv_X = invX(X)

计算伪逆的内存使用情况。输出

Line #    Mem usage    Increment   Line Contents
================================================
    13      1.1 MiB      0.0 MiB   @profile
    14                             def invX(X):
    15      1.1 MiB      0.0 MiB       inv_X = pinv(X)   
    16      1.1 MiB      0.0 MiB       return inv_X

我确实相信1.1M仅指矩阵X的存储,但是计算矩阵的伪逆数显然需要额外的辅助内存,该内存在使用后会被删除。

有人可以告诉我如何获取给定功能(或代码块)的峰值内存使用情况吗?

0 个答案:

没有答案