Python загружает 2 ГБ текстового файла в память

В Python 2.7, когда я загружаю все данные из текстового файла объемом 2,5 ГБ в память для более быстрой обработки, например:

>>> 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 байтовые данные? Как мне исправить код, чтобы он загружал все байты?

У меня свободно около 3 ГБ ОЗУ. Этот файл является дампом Wiktionary XML.

Ответы на вопрос(2)

Ваш ответ на вопрос