Ошибка при запуске программы - Database Locked, Out of memory
Добрый день
Примерно через месяц после инсталяции и работы прораммы при запуске ПО начала появляется ошибка
Database Locked
Права группе пользователи и Everyone выданы полные на папки.
перезарзка ПК не помогает. Помогает только переустановка программы.
trace log
Здравствуйте, Юрий.
Мы уже ранее имели проблемы с доступом файлов на запись, если программа устанавливается в C:\Program Files или C:\Program Files (x86). Это особые папки и желательно избегать установку программы в них. Поэтому наш инсталлятор и предлагает по-умолчанию папку C:\Exiland Backup Professional. Но Вы всё равно решили установить програму в C:\Program Files
Понятно, что права на запись в папку с программой придется выставить вручную.
Сделайте следующее:
1) Проверьте в ствйствах файла "C:\Program Files\Exiland Backup Professional\WorkingFolder\ExilandBackup.tid" на вкладке "Общие" нет ли внизу блокировки. Если есть - разблокируйте файл.
2) В свойствах этого файла, на вкладке "Безопасность", убедитесь в том, что Полные права даны абсолютно всем
Я бы вообще порекомендовал переустановить программу в папку C:\Exiland Backup Professional с переносом файла настроек в C:\Exiland Backup Professional\WorkingFolder\ExilandBackup.tid
Помогает только переустановка программы
После переустановки программы пересоздается файл настроек ExilandBackup.tid и, видимо, после этого какое-то время этот файл не блокируется. Но задания придется создавать заново.
Здравствуйте, Юрий
Скажите, Вы переустановили программу в папку C:\Exiland Backup Professional с переносом файла настроек или как-то по-другому решили проблему блокировки файла "ExilandBackup.tid" ?
Программу переустановил в C:\Exiland Backup Professional , файл настроек tib новый создал. Ждал новой 7.1 версии. За пару дней ошибки такой не было.
но уже словил такую
[10.12.2025 22:48:51.739] <<< Abnormal task completion. BSThread.Backup error: Thread creation error: Not enough memory resources are available to process this command
[10.12.2025 22:48:51.739] BSThread.Finish
Здравствуйте, Юрий
Это в версии 7.1 ? Можете прислать журнал службы за 10.12.2025 ?
Журналы службы хранятся в папке "C:\Exiland Backup Professional\BackupService\Logs"
Да в 7.1 . И в 7.0 тоже так было. На раных заданиях. Но как правило больших.
Здравствуйте, Юрий
Спасибо за журнал.
Ошибка 1
[10.12.2025 22:48:47.058] Task (10): Выполнение задания "\\NN-SAV-001\reports$"
[10.12.2025 22:48:50.095] Task (10): Сканирование исходных файлов ...
[10.12.2025 22:48:51.739] <<< Abnormal task completion. BSThread.Backup error: Thread creation error: Not enough memory resources are available to process this command
Видимо, очень много исходных файлов Сколько исходных файлов в этом задании "\\NN-SAV-001\reports$" ?
Ошибка 2
[10.12.2025 21:10:28.409] Task (7): Выполнение задания "\\NN-FLS-003\SBIS_Archive$"
[10.12.2025 21:10:28.551] Task (7): Сканирование исходных файлов ...
[10.12.2025 21:10:28.582] ScanSourceData - begin (forBSThread), IsDestinationFolder=0, NeedCopyNTFS=1, MemoryUsed: 6,08 МБ
[10.12.2025 22:43:48.215] <<< SetLength(PRecMass): nRec=0, Out of memory. MemoryUsed: 161,68 МБ
[10.12.2025 22:43:48.215] <<< Abnormal task completion. BSThread.Backup error: Out of memory
Здесь тоже аналогичный вопрос: Сколько исходных файлов в этом задании "\\NN-FLS-003\SBIS_Archive$" ?
Ошибка 3
[10.12.2025 14:35:19.833] Task (1): Выполнение задания "\\NN-FLS-003\DataExchangeWithDMS$"
[10.12.2025 14:35:19.943] Task (1): Сканирование исходных файлов ...
[10.12.2025 14:35:19.974] ScanSourceData - begin (forBSThread), IsDestinationFolder=0, NeedCopyNTFS=1, MemoryUsed: 93,07 МБ
[10.12.2025 14:35:20.710] <<< Abnormal task completion. BSThread.Backup error: Out of memory
Здесь тоже аналогичный вопрос: Сколько исходных файлов в этом задании "\\NN-FLS-003\DataExchangeWithDMS$" ?
-----------------
Есть ли возможность разделить все исходные данные этих заданий на несколько подзаданий, чтобы уменьшить кол-во исходных файлов? Это было бы очень здорово, чтобы уменьшить вероятность ошибки переполнения памяти.
482852 файлов NN-FLS-003\DataExchangeWithDMS$ -220гб
987160 файлов \\NN-FLS-003\SBIS_Archive$" - чаще всего выпадает в ошибку -190 гб
26235 файлов "\\NN-SAV-001\reports$ -само по себе это задание нормально работает. в ошибку падает если случилась ошибка с другим каким нибудь заданием. -7гб
судя по всему да, количество файлов влияет. даже не размер источника.
делить на несколько заданий поблемочтично конечно. И на какие части делить, на по сколько тысяч файлов..в папке в которой чаще всего ошибка почти миллион файлов. Она бывает без ошибок бэкапится. и отчего зависит пока не понятно. Вернее если все задания поставить выполняться друг за другом то точно ошибка будет. если делать паузы то тоже ошибки бывают. Перезгрузка ли перезапуск службы помогают выполнить задания которые выпали в ошибку. Но это так себе решение.
То есть если разделить задания на более мелкие и поставить их выполняться по цепочке все то думаю тоже ошибка такая будет
Юрий, спасибо за информаци.
судя по всему да, количество файлов влияет. даже не размер источника.
Вы правы, размер источника не имеет значения. Имеет значение кол-во исходных файлов, т.к. это количество обрабатывается во внутренних массиах в памяти и при большом количестве исходных файлов памяти может не хватить. Но у вас не слишком большое кол-во файлов, зато наблюдается утечка памяти, которая остаётся от предыдущего выполненнного задания.
Как программа борется с утечкой памяти
Программа периодически "следит" за утечкой памяти и перезапускает службу, чтобы обнулить утечку памяти. Но перезапуск службы делает не после каждого выполнения задания, а только в том случае, когда программа ниччего не делает (простаивает), т.е. когда очередь заданий пустая.
Наверное, это не совсем правильно и, по-хорошему, надо сделать перезапуск службы после каждого выполнения задания, если накопилась утечка памяти.
По-изучаю этот вопрос в ближайшие дни и отвечу Вам сюда. Поэтому заявку не закрываю.
Что делать сейчас
Пока не разделяйте исходные данные на несколько заданий, но попробуйте настроить расписание так, чтобы в очереди не скапливались задания и между запусками заданий был интервал хотя бы несколько минут. Тогда служба будет перезапускаться. Т.е. нужно чтобы одно задание запустилось, закончилось выполняться, затем прошло хотя бы несколько минут и затем запустилось следующее. Здесь надо знать время выполнения каждого задания, хотя бы примерно.
А вот задание
987160 файлов \\NN-FLS-003\SBIS_Archive$" - чаще всего выпадает в ошибку -190 гб
похоже, что всё таки придется как-то разделить, т.к. оно даже при запуске Вручную, отдельно от других заданий, когда нет утечки памяти, все равно выпадает в ошибку.Out of memory при сканировании. В этом задании почти 1 млн файлов.
Здравствуйте, Юрий.
Переделал работу программы.
Теперь сделал так: если накопится утечка памяти хотя бы 30 МБ, то служба перезапустится, чтобы утечка памяти обнулилась и продолжит работу. Эта проверка делается после каждого выполнения задания.
Возьмите свежие файлы программы из архива Update.zip (см. влож) и замените их у себя в папке с установленной программой "C:\Exiland Backup Professional". ВАЖНО! Перед заменой файлов остановите службу и полностью закройте программу настройки Exiland Backup Professional, иначе не даст заменить. После замены запустите програму настройки и запустите службу. Протестируйте выполнение заданий, на которых выдавало ошибку нехватки памяти. Потом присылайте нам описание ваших наблюдений и журналы (можно все упаковыать в папке "C:\Exiland Backup Professional\BackupService\Logs" и прислать нам).
Добрый день, спасибо. попробую.
Подскажите полезно ли в свойствах задания выставить Пауза после выполнения задания например минут 10?
по логике этот простой даст время службе перезагрзится. Но смущает что при выставлении паузы к примеру 10 минут. Задание как бы не завершается эти 10 минут. окошко в тее висит и на стрчке задания бегает зщеленая полоска выполнения. То есть как бы задание еще идет, но уже все скопировано .
Юрий,
Пауза после выполнения задания - эта настройка не имеет отношения к перезагрузке службы и она для вас бесполезна.
Сейчас, несмотря на то задана ли эта пауза в настройках задания или нет, программа просто после выполнения каждого задания проверяет наличие утечки памяти и если утечка есть, то перезапускает службу (на перезапуск уходит секунд 10). Поэтому настраивать эту паузу нет смысла.
Но смущает что при выставлении паузы к примеру 10 минут. Задание как бы не завершается эти 10 минут. окошко в тее висит и на стрчке задания бегает зщеленая полоска выполнения. То есть как бы задание еще идет, но уже все скопировано .
Да, вы правы. Пауза после выполнения задания выполняется в рамках выполнения задания в самом конце выполнения. Поэтому и плашка висит, не убирается. Вообще, хорошо, что Вы обратили на это внимание. Наверное было бы правильнее сделать выполнение этой паузы между заданиями, т.е. когда одно задание уже полностью завершено, а другое еще не начато. Так и сделаем. Спасибо за замечание.
Здравствуйте, Юрий
Вынесли функцию Пауза после выполнения задания за пределы выполнения задания. Выпустим с ближайшим обновлением.
А что по поводу 3-х заданий, на которых выдавало ошибку Out of memory? Я Вам давал на тест обновленные файлы программы. Скажите, что изменилось? Стало ли лучше? Уменьшилось ли число заданий, на которых появлялась эта ошибка?
Добрый день
прогнал всю очередь заданий, 9 заданий. больше 1.5 млн файлов точно. ошибок пока небыло.
Здравствуйте, Юрий
Похоже, что доработка программы принесла положительный вклад в результат работы программы.
Было бы здорово, если бы Вы прислали нам журналы службы "C:\Exiland Backup Professional\BackupService\Logs" за несколько последних дней, начиная с той даты, когда Вы обновили файлы программы. Просто хотел бы убедиться в том, что служба перезапускалась в случае накопления утечки памяти после выполнения заданий с большим кол-вом файлов.



