Собственно я пользователь "Microsoft Visual Studio Community 2022 (64-bit)" ... Но одолела меня проблема System.OutOfMemoryException хотя памяти свободной аж 60Gb, которой так много именно для того чтобы не скромничать и ворочать словари по 60М+ записей. Нашел статью
более менее по теме. И даже намного более
общую.
Итого есть кажется две беды:
1. Нужно обязательно х64 систему (она есть), х64 среду (ведь отладка идет и среда тоже работает пока я творю эти большие списки), х64 приложение что кажется универсальное и на скрине я нашел только одну галочку по теме из всего что касается моего приложения - не уверен что оно х64 га самом деле. Галочку я снял и попробовал еще разок - ... кажется помогло и словарь на котором я стабильно спотыкался был обработан ...
2. Нужен некий "непрерывный блок памяти" этого самого большого размера ... Речь идет о фрагментации подобно HDD как это было много лет назад кажется и вот беда я без понятия как с этим управляться.
То есть у меня есть память, резерв на эти дела аж 32Gb, то есть именно на эти списки и они еще ни разу не превышали 3,7Gb на деле, а ошибки я уже ловлю. В общем памяти много и хочется ей пользоваться а не перебирать все по 200-300Мб, боясь лишний раз чего то привысить.
Мне кажется что сейчас моя беда в том - что я где-то не включил для моего приложения х64, то есть это не полноценное приложение которое может использовать очень много памяти. Либо сама среда хоть и х64 - я запустил ее неверно или же работает она в неверно режиме х32 ...
Вопрос - как убедиться что моя VS2022 реально работает в х64 и если надо изменить на этот режиме работы. Где проверить что мое приложение тоже х64 и если надо перевести его в такой же режим работы? То есть чтобы и среда и приложение могли адресовать намного более 4Гб без всяких проблем, т.к. я уповаю что среди 32Gb минимум (а то и более чаще) они как то найдут себе "непрерывный" кусочек сами и без проблем все туда сложат ...
Вопрос по второй проблеме - я вообще могу как то помочь программе найти "цельный" кусок памяти? Т.е. заведомо я даю ей с запасом места ... может чистить как-то, может еще что ...
p.s. Объем данных на котором была обшибка как раз около 5-6Гб и пока вроде работает. НО!!!! Мало ли может мне повезло просто и я вот вот опять не буду иметь "цельного" куска памяти и опять все начнет ломаться на ходу ...
p.s.s. То есть пока работает, но я первый раз пишу такое крупногабаритное приложение и чувствую что мне сейчас кажется повезло, чем я и правда в курсе как этот процесс с памятью взять под контроль =((