Threebody1 发表于 2023-4-29 17:59:29

python判断内存占用

有什么函数可以判断某函数的内存占用情况吗

isdkz 发表于 2023-4-29 18:00:38

要度量Python函数的内存使用情况,您可以使用 memory_profiler 这个库。首先,您需要安装这个库,使用pip进行安装:

pip install memory-profiler


然后,在您的Python代码中导入 memory_profiler 库并使用装饰器 @profile 来分析您的函数。例如:

from memory_profiler import profile

@profile
def my_function():
    # 您的函数实现

if __name__ == '__main__':
    my_function()


运行带有 @profile 装饰器的函数时,它会输出内存使用情况的报告。要运行这个脚本并查看报告,您需要在命令行中使用 -m memory_profiler 参数来执行脚本:

python -m memory_profiler your_script.py


此外,还有一些其他方法可以检测内存使用情况,如 psutil 库,但 memory_profiler 对于函数级别的内存分析是非常实用的。

liuhongrun2022 发表于 2023-4-29 18:14:00

本帖最后由 liuhongrun2022 于 2023-4-29 18:15 编辑


import time
from memory_profiler import profile

@profile
def a():
    # 你的代码!

if __name__ == '__main__':
    a()

陶远航 发表于 2023-4-29 18:35:24

在Python中,您可以使用sys模块中的getsizeof()函数来获取一个对象的大小,从而判断函数的内存占用情况。

例如,以下代码将使用getsizeof()函数来获取一个字符串对象的大小,并打印出其占用的字节数:

import sys

s = "Hello World!"
print(sys.getsizeof(s))# 输出:38
您可以将该函数用于您感兴趣的函数对象,并观察输出结果来了解其内存占用情况。需要注意的是,由于Python中的一些优化机制,getsizeof()函数返回的值并不总是准确的,但是它可以作为一个粗略的指标来判断对象的内存占用情况。

Threebody1 发表于 2023-4-29 18:36:37

陶远航 发表于 2023-4-29 18:35
在Python中,您可以使用sys模块中的getsizeof()函数来获取一个对象的大小,从而判断函数的内存占用情况。
...

我要的是函数大小

陶远航 发表于 2023-4-29 18:37:43

Threebody1 发表于 2023-4-29 18:36
我要的是函数大小

好吧{:10_256:}

Threebody1 发表于 2023-4-29 18:44:43

isdkz 发表于 2023-4-29 18:00
要度量Python函数的内存使用情况,您可以使用 memory_profiler 这个库。首先,您需要安装这个库,使用pip进 ...


whats size of MiB

isdkz 发表于 2023-4-29 18:59:58

Threebody1 发表于 2023-4-29 18:44
whats size of MiB

?你是觉得大了还是小了?
页: [1]
查看完整版本: python判断内存占用