Максимальный размер памяти для приложения ASP.NET в Windows 2008 64 бит - PullRequest
2 голосов
/ 10 августа 2009

Каков максимальный размер памяти для приложения ASP.NET в 64-разрядной версии Windows 2008?

Спасибо, Гай Бертенталь

Ответы [ 3 ]

3 голосов
/ 10 августа 2009

Это будет зависеть от ряда вещей.

  1. Сколько памяти рабочий процесс может использовать на вашем компьютере? (Я полагаю, что на данный момент это 2 ГБ как для 32-битных, так и для 64-битных ОС, хотя я могу ошибаться в этом)
  2. Ваше приложение работает в собственном пуле приложений?
  3. Сколько рабочих процессов запущено для вашего пула приложений? (т. е. садоводство веб-приложений)
3 голосов
/ 10 августа 2009

Есть 2 ограничения

Само по себе вы ограничены тем, что 64-битная Windows будет предоставлять в качестве адресуемого пространства - это составляет 8 ТБ. Когда будущая версия 64-битной Windows расширится до этого максимума, вы увидите, что это немедленно отражается в приложениях .NET, работающих на 64-битной среде CLR, - в 64-битном адресном пространстве нет жестких ограничений или архитектурного ограничения .NET.

Однако .NET имеет жестко заданное ограничение 2 ГБ на объект . Единственный реальный способ достичь этого - определить действительно большие массивы, такие как new int[1000000000]. Это также является основной причиной ограничения (за исключением некоторых проблем с фрагментацией памяти), поскольку стандарт платформы .NET определяет индексы массива как int.

1 голос
/ 10 августа 2009

64-битный CLR позволит вам увидеть адресное пространство размером 8 ТБ.

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

...