python怎么获得内存使用

python怎么获得内存使用

作者:William Gu发布时间:2026-03-25阅读时长:0 分钟阅读次数:3

用户关注问题

Q
如何在Python中查看当前程序的内存使用情况?

我想知道如何使用Python代码来获取当前运行程序的内存占用,有哪些方法可以实现?

A

使用psutil库获取Python程序内存使用

可以通过安装并使用第三方库psutil来获取当前进程的内存信息。示例代码如下:

import psutil
import os

process = psutil.Process(os.getpid())
memory_info = process.memory_info()
print(f'RSS内存使用:{memory_info.rss / 1024 / 1024} MB')

能够获取到常用的RSS(常驻集大小)等内存指标。

Q
Python标准库中如何监控内存使用?

有没有不依赖外部库的方法,用Python自带的标准库来查看当前程序的内存消耗?

A

利用resource模块查看内存使用情况(仅限Unix系统)

在Unix-like系统中,可以使用resource模块来获取内存使用信息。示例代码:

import resource
max_mem = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
print(f'最大内存使用:{max_mem} KB')

需要注意的是,这种方式在Windows上不可用。

Q
如何监测Python代码块的内存占用?

我想知道如何测量某段Python代码执行期间的内存使用增量,有推荐的工具或方法吗?

A

使用memory_profiler进行代码段内存监控

memory_profiler是一个方便的第三方库,可以通过装饰器或命令行对特定代码块的内存使用进行监控。安装方法:

pip install memory_profiler

示例用法:

from memory_profiler import profile

@profile
def my_function():
    a = [i for i in range(100000)]
    return a

if __name__ == '__main__':
    my_function()

执行脚本时,内存使用情况会被打印出来。