092. 编写一个函数,实现简单的内存分析工具
092. 编写一个函数,实现简单的内存分析工具
在 Python 中,可以使用内置的 sys
和 gc
模块,以及第三方库 psutil
来实现一个简单的内存分析工具。以下是一个示例代码,该工具可以实现以下功能:
- 显示当前进程的内存使用情况(包括总内存、已用内存、空闲内存等)。
- 显示当前 Python 对象的内存占用情况(包括特定对象的内存大小)。
- 统计当前 Python 进程中所有对象的内存占用情况。
示例代码
import sys
import gc
import psutil
import os
def analyze_memory():
"""
简单的内存分析工具
功能:
1. 显示当前进程的内存使用情况
2. 显示特定对象的内存占用
3. 统计当前 Python 进程中所有对象的内存占用情况
"""
# 获取当前进程的内存使用情况
process = psutil.Process(os.getpid())
mem_info = process.memory_info()
print("当前进程的内存使用情况:")
print(f" RSS(常驻内存): {
mem_info.rss / (1024 ** 2):.2f} MB")
print(f" VMS(虚拟内存): {
mem_info.vms / (1024 ** 2):.2f} MB")
print(f" 内存占用百分比: {
process.memory_percent():.2f}%")
# 显示特定对象的内存占用
print("\n特定对象的内存占用:")
obj1 = [1, 2, 3, 4, 5]
obj2