我有一个Python程序,可以读取文件行并进行分析。该程序有意将许多行读入RAM。
程序在列表中添加一行(如str)时开始出现MemoryError。当我签入任务管理器(程序在Windows 10上运行)时,我看到程序的内存为1635MB(稳定),并且计算机的总内存使用率低于50%。
我读到Python并没有限制内存,那可能是什么原因?
技术细节:
我在Windows 10 64位16GB RAM计算机上使用Python 3.6.5。我从PowerShell终端而不是通过IDE运行程序。
我看到程序的内存在1635MB上
默认情况下,编译为32位的Windows EXE具有2GB的内存限制,即使在具有更多可用内存的64位OS SKU上也是如此。您的存储空间为1.6 GB,因此您可能会超出此限制。
请确保您正在运行Python.exe的64位版本。由于未知原因,Python.org的下载页面默认为32位。但是,如果浏览到their download page for a given release的底部,则可以找到用于64位体系结构的x86-64版本。