python读取内存数据_python 类

python读取内存数据_python 类在 Python 中 查看内存使用情况可以通过以下几种方法 1 使用 sys getsizeof 函数 pythonimport sysmy var Hello World print sys getsizeof my var 输出对象占用的内存大小 单位是字节 2 使用第三方库 pympler 中的 asizeof 函数来查看对象及其引用的对象的总内存使用情况

在Python中,查看内存使用情况可以通过以下几种方法:

1. 使用`sys.getsizeof()`函数:

python

import sys

my_var = "Hello World"

print(sys.getsizeof(my_var)) 输出对象占用的内存大小,单位是字节

2. 使用第三方库`pympler`中的`asizeof`函数来查看对象及其引用的对象的总内存使用情况:

python

from pympler import asizeof

my_list = [1, 2, [3, 4, [5, 6]]]

print(asizeof.asizeof(my_list)) 输出对象及其引用的对象的总内存使用情况

3. 使用`tracemalloc`模块跟踪内存分配情况:

python

import tracemalloc

tracemalloc.start()

你的代码

snapshot = tracemalloc.take_snapshot()

top_stats = snapshot.statistics('lineno')

for stat in top_stats[:10]:

print(stat)

4. 使用`psutil`库获取进程的内存使用情况:

python

import psutil

process = psutil.Process(os.getpid())

memory_info = process.memory_info()

print(f"Memory used by the process: {memory_info.rss / 1024 / 1024} MB") 输出进程使用的内存大小,单位是兆字节

5. 使用`memory_profiler`装饰器分析代码的内存使用情况:

python

from memory_profiler import profile

@profile

def test():

a = np.full((600, 700), fill_value=99.0)

return a

if __name__ == "__main__":

a = test()

print(f"A: {psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024} MB")

del a

gc.collect()

print(f"B: {psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024} MB")

以上方法可以帮助你了解Python程序中不同对象的内存占用情况。需要注意的是,`sys.getsizeof()`只返回对象本身占用的内存大小,不包括其引用的其他对象。如果你需要查看包括引用对象在内的总内存使用情况,可以考虑使用`pympler`或`memory_profiler`

编程小号
上一篇 2026-04-03 11:24
下一篇 2026-04-03 11:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/63578.html