Какая ОС, и это 32-разрядная или 64-разрядная? Что вы используете для определения использования памяти?
Когда вы говорите, что явно освобождаете объекты, вы имеете в виду, что используете маршал.ReleaseComObject()?
Я предполагаю, что у вас есть AspCompat = true в вашем теге <% @ Page ... не ожидал, что он будет запущен вообще, если вы этого не сделали.
Можете ли вы дать нам некоторые детали вашего COM-объекта; что он делает, и можете ли вы опубликовать код, в котором вы его вызываете, включая сигнатуры COM-объектов? Сколько памяти вы ожидаете от одного объекта?
Мой первый подозреваемый, основанный только на информации, которую я читал до сих пор, заключается в том, что 500 МБ не является действительно общей используемой памятью и/или что у вас есть проблема фрагментации памяти. Я видел, как это происходит с процессами IIS, когда используется менее половины используемой памяти, и ошибки имеют тенденцию быть случайными, в зависимости от того, какой объект создается в то время. BTW, 80070008 «недостаточно места для хранения».
Ограничения по процессу составляют 2 ГБ на 32-битной машине, конечно, но даже если процесс не использует полный 2 ГБ, если не существует непрерывного блока памяти размера, необходимого при создании объекта, Когда вы попытаетесь выделить, вы получите ошибку из памяти. Множество одновременных пользователей подразумевает выделение и освобождение COM-объектов (и других объектов) за короткий промежуток времени ... что указывает на фрагментацию в качестве подозреваемого.
Выполнение плана атаки требует больше информации о COM-объекте и способах его использования.
Вы правильно распоряжаетесь этими COM-объектами? –
Да, я прямо их освобождаю. Проблема не в том, что это утечка памяти, использование памяти в норме - есть только много одновременных пользователей. На сервере все еще много RaM, но как-то он застревает. (только что запустил еще один тест, и проблема возникла с использованием только 100 МБ ... weird) –
Являются ли эти COM-объекты в процессе или вне процесса? Какова их модель квартиры? Являются ли они помечены как «Апарамент», «Свободный», «Оба», «Один»? Является ли ОС 32-разрядной или 64-разрядной? Связаны ли эти компоненты с оболочкой или некоторым пользовательским интерфейсом? –