Использование памяти в C #

У меня есть программа, которая использует streamи в C #. Есть ли способ программно использовать использование памяти в приложении? Я хочу ограничить порождение streamов, чтобы сказать 10 мегабайт памяти, как бы я это сделал?

Если вам нужна память всего запущенного процесса, а не по каждому streamу, как насчет:

// get the current process Process currentProcess = System.Diagnostics.Process.GetCurrentProcess(); // get the physical mem usage long totalBytesOfMemoryUsed = currentProcess.WorkingSet64; 

Существует целый ряд других свойств памяти процесса, кроме того, что WorkingSet64 проверяет «связанные с памятью» по следующей ссылке для той, которая лучше всего подходит

http://msdn.microsoft.com/en-us/library/system.diagnostics.process_properties.aspx

Хотя я согласен с комментариями, которые вы уже получили по вашему вопросу, использование System.Environment.WorkingSet может быть фактическим ответом на него, если вы действительно решите пройти этот курс действий?

Я с Виллом и Стивом, не делай этого, если только ты ДЕЙСТВИТЕЛЬНО должен это сделать. , , что сказал. , ,

если вам действительно нужно это сделать, вы можете использовать API-интерфейсы .NET. Они такие приложения, как SQL Server, могут размещать инфраструктуру .net в приложении.

Это дает вам контроль над управлением памятью и т. Д., Я прочитал статью, но никогда не использовал API, они в моем списке дел на ночь, когда мне скучно, и ни один из моих других «забавных» проектов не чувствует себя весело эта неделя 🙂

Надеюсь это поможет.

Вы не измеряете количество streamов в использовании памяти. Вместо этого учтите количество «процессоров» (SMP / Multi-Core / Hyper-Threading), чтобы решить, сколько streamов должно выполняться параллельно. Или используйте ThreadPool , который автоматически настраивается для достижения хорошего соотношения streamов к процессору.

  • Что такое «внутренний адрес» на Java?
  • что использует MemoryFile в android
  • Есть ли способ получить ссылочный адрес?
  • В чем разница между оператором присваивания и конструктором копирования?
  • Когда Fragment заменяется и помещается в задний стек (или удаляется), он остается в памяти?
  • интересное OutOfMemoryException с StringBuilder
  • Что вызывает fragmentацию памяти в .NET.
  • Измерение полосы пропускания памяти из точечного продукта двух массивов
  • Создайте функцию обертки для malloc и освободите ее на C
  • AngularJS - $ destroy удаляет прослушиватели событий?
  • g ++ размер массива без предупреждения?
  • Давайте будем гением компьютера.