если вы об очень больших объемах...
я запускаю агента на своем компе, заранее замеряю параметры памяти
в диспетчере задач такие параметры, данные меняются но приблизительно такие:
Физ память
всего 2 092 228 КБ
доступно 1 406 960 КБ
системный кэш 426 450 КБ
выделено памяти
Всего 949 312 КБ
предел 4 032 564 КБ
пик 1 868 612 КБ
ОЗУ = 2ГБ
файл подкачки = 2ГБ
собираю в строку текст, размер (функция lenb) строки = 300мб, смотрю в диспетчере, показывает
Физ память
всего 2 092 228 КБ
доступно
1 097 960 КБ
системный кэш 426 450 КБ
выделено памяти
Всего
1 258 312 КБ
предел 4 032 564 КБ
пик 1 868 612 КБ
жирным отметил то что изменилось, от сюда вывод что 300мб которые держу в переменной выделил из физической памяти 300мб, еще остается приблизительно 1гб
Теперь, запускаю агента на 500мб выходит ошибка string out of space. Вот тут вопрос возникает: почему? есть же еще 1гб, почему он их не взял.
может системный кэш какую-то роль сыграл здесь, даже если брать минус системный кэш, то все равно остается еще 500мб, должно быть ограничение для переменной в 1,3ГБ либо (с минусом системного кэша) 900мб. приблизительно так.
может я не правильно понимаю данные которые показывает диспетчер задач!?
