一、Python开发环境内存监控
1. 使用`psutil`库
`psutil`是Python中用于系统监控的强大库,可实时获取内存使用情况。
安装
通过命令行安装:
```bash
pip install psutil
```
示例代码
```python
import psutil
import time
def get_memory_usage():
process = psutil.Process()
return process.memory_info().rss 以字节为单位
获取初始内存使用
initial_memory = get_memory_usage()
print(f"初始内存使用量: {initial_memory} 字节")
模拟程序运行
time.sleep(5)
获取运行后的内存使用
new_memory = get_memory_usage()
print(f"5秒后内存使用量: {new_memory} 字节")
计算内存变化
memory_diff = new_memory - initial_memory
print(f"内存消耗: {memory_diff} 字节")
```
扩展功能
持续监测:使用循环定期调用`get_memory_usage()`函数,观察内存动态变化。
多进程管理:通过`psutil.Process()`获取特定进程的内存信息。
2. 使用`memory_profiler`进行逐行内存分析
适用于代码级别的内存优化。
安装
```bash
pip install memory_profiler
```
使用方法
在目标函数上添加`@profile`装饰器:
```python
from memory_profiler import profile
@profile
def test_memory():
big_list = * 1000000
del big_list
return "Done!"
if __name__ == '__main__':
test_memory()
```
运行后生成内存使用报告,显示每行代码的内存消耗。
二、通用系统内存监控
1. 操作系统内置工具
Windows:任务管理器(Ctrl+Shift+Esc)→性能选项卡→进程列表,查看各进程内存占用。
Linux/macOS:终端命令`top`或`htop`,或使用`Activity Monitor`(macOS)实时监控内存使用情况。
2. 第三方监控软件
Android:Android Profiler(Android Studio)提供内存监控功能,可实时查看堆内存使用情况。
手机内存查看:通过手机设置→开发者选项→运行服务,查看已安装应用的内存占用。
三、注意事项
基准对比:
监控前需记录系统或程序的初始内存使用量,后续对比可判断内存泄漏或异常增长。
内存优化:
若发现内存持续增长,建议检查代码中是否存在内存泄漏(如未释放的资源、循环引用等)。
工具选择:
开发环境优先选择`psutil`或`memory_profiler`,生产环境建议结合系统级工具(如Linux的`top`)进行综合监控。
通过以上方法,可有效监控软件内存使用情况,保障系统稳定性和性能优化。