【发布时间】:2020-04-13 20:57:43
【问题描述】:
我有一个 Python 程序,它可以读取文件行并对其进行分析。该程序有意将许多行读入 RAM。
程序在将一行(作为 str)附加到列表时开始出现 MemoryError。在任务管理器中查看(程序在Windows 10上运行),看到程序内存在1635MB(稳定),机器总内存使用率在50%以下。
我读到Python不限制内存,那可能是什么原因?
技术细节:
我在 Windows 10、64 位 16GB RAM 机器上使用 Python 3.6.5。我从 PowerShell 终端而不是通过 IDE 运行程序。
【问题讨论】:
-
您正在阅读的文件有多大?发生这种情况时,列表会持续多久?
-
检查您是否使用 32 位安装的 Python。
-
将内存错误与总 RAM 匹配并不容易(不带交换)。有许多影响内存使用和限制的幕后细节。接受这样一个事实,即处理大型任务,您迟早会遇到内存错误。
-
在列表中追加一行(作为str)我很想看看你的代码,你能把它贴出来吗?
标签: python windows memory out-of-memory