Разве плохо, если в пуле приложений в IIS слишком много виртуальных байтов?

Связано с тем, что означают виртуальные байты на панели "Рабочие процессы" в диспетчере IIS7.5?

У меня есть сервер, на котором работает несколько разных сайтов. Мы видим некоторые проблемы с производительностью и памятью.

Когда я перехожу к рабочим процессам, я вижу один из сайтов с количеством виртуальных байтов 5 ГБ. Частные байты - более разумные 800 МБ. Сервер x64 с 8 ГБ памяти и IIS 7.

Проблема в том, что количество виртуальных байтов так велико, или это красная сельдь? Если количество виртуальных байтов велико, значит ли это, что он хранит память в файле подкачки, что может вызвать перегрузку? Или пул приложений просто создает большой кусок виртуальной памяти в Windows x64, и это не влияет на другие процессы и не записывается в файл подкачки?

1 ответ

Решение

Не обязательно проблема. Этот профиль виртуальной памяти - это то, что мы видим для той же архитектуры и использования физической памяти.

Если бы он увеличивался до бесконечности, это было бы плохо, и в конечном итоге он прекратился бы, хотя предел операционной системы довольно высок. Если было выполнено большое выделение виртуальной памяти, а система не имела достаточно большого непрерывного сегмента, это приведет к ошибке выделения виртуальной памяти.

Если вы заинтересованы в учете распределения виртуальной памяти, вы можете запустить VMysap от SysInternals. В процессе w3wp, на котором выполняется приложение.NET Framework, обычно это управляемая куча сборщика мусора. Обратите внимание, что когда VMMap подключается к процессу, w3wp будет долго и интенсивно использовать его, пока он собирает эту информацию - о чем следует помнить.

Сборка мусора и производительность
http://msdn.microsoft.com/en-us/library/ee851764.aspx

Другие вопросы по тегам