Данное сообщение говорит о том, что операционная система Windows отказалсь выделять приложению больше памяти. Это может произойти, если приложение нагрузить слишком большим количеством операций или задать обрабатывать списки слишком большой длины.


Проблема состоит в том, что ОС Windows не умеет выделять приложениям столько памяти, сколько имеется в свободном ресурсе. Следовательно, даже если ваш ПК имеет очень большой объем свободной оперативной памяти, то в работе вы все равно можете столкнуться с данным сообщением об ошибке. Актуальный занятый объём ОЗУ из общего выделенного для приложения всегда отображается в главном окне программы.



SocialKit при запуске анализирует разрядность операционной системы Windows. Если обнаруживается возможность расширенного доступа к памяти, то программа автоматически переводится в режим расширенного доступа к ОЗУ, что дает существенно большие возможности в резервировании памяти для тех или иных операций. Это позволит больше нагружать программу и реже сталкиваться с ошибкой "Out of memory".



Настройки, отвечающие за управление режимом доступа к памяти находятся на закладке "Эксперт" (1 и 2). По умолчанию они выставлены так, чтобы программа сама определяла возможность расширенного доступа к ОЗУ при запуске и переводила программу в соответствующий режим. Следовательно, если установлена отметка в поле 2, то в поле 1 будет отражен текущий режим работы приложения. Если вы снимите отметку в поле 2, то отметка в поле 1 выставляться автоматически больше не будет. Вместо этого будет сохранён пользовательский выбор. Соответственно, при установленной отметке в поле 1 программа будет считать, что работа в расширенном режиме с памятью возможна и наоборот, если отметка отсутствует.


Ниже представлены два примера, наглядно демонстрирующие преимущество работы с поддержкой расширенного доступа к памяти.



На скриншоте выше изображена попытка загрузить в визуальный список файл с более чем 5 млн. профилей в формате ID:LOGIN. Как видно из скриншота, попытка заканчивается сообщением об ошибке "Out of memory" - это пример работы программы в обычном режиме доступа к памяти.



На втором скриншоте открыто сразу несколько окон с визуальными списками, в которых находится в общей сумме более 14 млн. профилей. При этом параллельно работает несколько задач и сообщения об ошибке нет, т.к. примерно 3% ОЗУ еще доступно для распределения.


Преимущества очевидны, но следует, все же, понимать, что даже в расширенном режиме доступа к памяти программа может упереться в установленный лимит и в этой ситуации будет выдано искомое сообщение об ошибке. Если вы столкнулись с этим, то необходимо завершить работу всех задач и перезапустить программу. В дальнейшем следите за индикатором в главном окне и старайтесь не использовать выделенный объём ОЗУ больше, чем на 95%, чтобы всегда оставался какой-то объём памяти для корректного выполнения поточных задач.

Эта статья помогла Вам?

Сервис поддержки клиентов работает на платформе UserEcho