我有一个带有 256MB RAM 的嵌入式 Linux 系统。它上面运行着一个大型代码库,大部分使用 C++,但一些实用程序使用 Python。我们有一个 Python “包管理器”,它使用Python apt 模块处理系统更新(我们将更新分发为 .deb 文件)。运行时,此应用程序使用大部分系统 RAM。我正在使用 top 监视 RAM 使用情况,查看 Python 进程的 RSS(也许这不是分析进程内存使用情况的有效方法?欢迎提出建议)。
线
缓存 = apt.Cache()
定期调用它来检查系统状态似乎每次调用都会消耗大约 20MB,而且看起来并没有返回这个内存。我尝试在函数末尾删除缓存对象并运行 gc.collect(),但这似乎没有多大帮助。
如何减少该程序的内存使用量?
该平台是 ARM Cortex A8,运行 Linux 3.2、Debian Wheezy 和 Python 2.7.3。