ZebroidФорумПубличный разделВопросыПотребление памяти при работе в режиме "большой проект"

Потребление памяти при работе в режиме "большой проект"

28 августа 2016, 12:51
Зарегистрирован: 01 сентября 2011, 18:52
Не уверен что это ошибка, но в режиме «большой проект» многие действия с проектом приводят к большому потреблению памяти. Пробовал на проектах размером 4 и 16 Гб (размер текстовой части, без картинок). Например, на проекте в 4Gb кольцевая перелинковка (20 колец по 4000-5000 ссылок на кольцо) обработала 10-11 анкоров из 20 и свободная RAM память в системе закончилась. Памяти на компьютере 24Gb. В диспетчере задач потребление памяти у самого процесса zebroid — в пределах 800мб, однако свободная память системы занята и в диспетчере задач не видно кто её сожрал, но память освобождается если принудительно закрыть zebroid. Нормальное потребление памяти на системе в районе 6Gb, то есть оставшиеся 18Gb съедаются только при обработке проектов в зеброиде, в режиме большой проект. В режиме SQLite такого не наблюдается, но он вроде несколько медленней.

Создается впечатление что изменения записей как бы остаются в памяти до момента сохранения проекта. Это нормальное поведение или ошибка? Возможно есть какая-то утечка памяти, поскольку перебор по потребляемой памяти происходит даже на проектах размер которых заведомо меньше объема свободной памяти (например при размере проекта в 4Gb и свободной памяти в объеме 18Gb).

Версия программы 5.5.8.10913
ОС Windows 7 x64.

Комментарий отредактирован 1 раз(а). Последний раз редактировал Kostushko 28 августа 2016, 12:52.
28 августа 2016, 14:08
Зарегистрирован: 10 апреля 2012, 00:00
Это нормально, для обработки данных нужно больше памяти, чем на одно только хранение этих данных. Если была утечка памяти, то утекала она бы вне зависимости от того, какой тип проекта выбран.

В диспетчере задач потребление памяти у самого процесса zebroid — в пределах 800мб, однако свободная память системы занята и в диспетчере задач не видно кто её сожрал, но память освобождается если принудительно закрыть zebroid
Это тоже нормально. Зеброид в режиме «Большой проект» всё так же хранит данные в оперативке, просто не в своем адресном пространстве, а в адресном пространстве самой ОС. Это позволяет обойти лимит в 2 Гб для х32 приложений.

28 августа 2016, 14:13
Зарегистрирован: 01 сентября 2011, 18:52
Спасибо за пояснения, все понял. Буду использовать режим SQLite при необходимости. Тему можно закрыть/перенести в архив.