在 Python 2.7 中,当我将 2.5GB 文本文件中的所有数据加载到内存中以进行更快的处理时,如下所示:
>>> f = open('dump.xml','r')
>>> dump = f.read()
我收到以下错误:
Python(62813) malloc: *** mmap(size=140521659486208) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
为什么 Python 尝试140521659486208
为字节数据分配字节内存2563749237
?如何修复代码以使其加载所有字节?
我有大约 3GB 的可用 RAM。该文件是一个维基词典的 xml 转储。