CentOS上优化Python内存使用的实用方案
一 系统层面检查与配置
二 代码与数据处理层面的优化
三 数据处理与机器学习场景的专项优化
四 快速落地清单与示例
逐行处理大文件并分批写入(避免一次性读入内存)
def batch_lines(path, batch_size=10000):
batch = []
with open(path, ‘r’) as f:
for line in f:
batch.append(line.rstrip(‘\n’))
if len(batch) >= batch_size:
yield batch
batch.clear()
if batch:
yield batch
for lines in batch_lines(‘huge.log’, batch_size=10000):
# 处理并写出
…
用生成器表达式替代大列表推导(显著降低峰值内存)
squares = (x*x for x in range(10_000_000))
for sq in squares:
…
定位内存热点(memory_profiler)
pip install memory-profiler
在目标函数上加 @profile 并运行:python -m memory_profiler your_script.py
根据输出行定位并优化高占用代码段。