Создание .xz с 7-Zip, утверждает, что недостаточно памяти (не соответствует действительности)


2

В WinXP 32bit с процессором Core i5 (двухъядерный) и 4 ГБ ОЗУ я пытаюсь создать архив .xz из файла журнала размером 266 МБ, используя 7-Zip (GUI) на уровне сжатия «ultra» (метод: LZMA2, словарь размер: 48 МБ, размер слова: 64, потоки ЦП: 4/4) с расчетной памятью для сжатия: 1680 МБ и для распаковки: 50 МБ.

Это не работает, поскольку я всегда получаю сообщение об ошибке «Система не может выделить необходимый объем памяти» независимо от фактического использования памяти. В 7-Zip FAQ упоминается ограничение в 2 ГБ на выделенное виртуальное пространство, но заданная «память для сжатия» значительно ниже этого предела.

Кто-нибудь знает, что происходит?

Ответы:


1

32-битный процесс (в 32-битной Windows) имеет 2 ГБ адресного пространства. НО: Это пространство будет фрагментировано! Здесь есть код, некоторые библиотеки DLL и ваши данные (и ...), между которыми есть довольно большие промежутки.

Если 1680 МБ должно быть одним блоком, маловероятно, что там так много свободного адресного пространства : распределение не выполняется. Это происходит регулярно, если размер одного запрашиваемого блока превышает 1 ГБ. Другими словами: вы не можете выделить один блок размером 1 ГБ, но вы можете выделить один 700 МБ и один с 300 МБ.

В пакете sysinternals есть инструмент «vmmap», который можно использовать для отображения схемы адресов процесса, включая свободное пространство.


0

Как упоминалось в других ответах, 32-битная не может адресовать кусок памяти более 2 ГБ (теоретически), поэтому вам нужно использовать 64-битную версию 7-Zip. Вы можете скачать его здесь


Спасибо за ответ. Однако в то время, как указано в вопросе, это было на 32-битной машине.
Уэс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.