В настоящее время я пытаюсь рассчитать, будет ли NGEN приносить пользу нашему клиенту .NET с точки зрения экономии памяти при работе на ферме Citrix.Рассчитайте экономию рабочего пространства при использовании NGEN
Моя главная ссылка следующая статья:
Эта статья предполагает, что использование VMMap мне просто нужно проверить, чтобы увидеть, если мои разделяемые увеличивается WS и я золотой.
Фактически, я вижу увеличение около 56 МБ в совместно используемом WS (см. Фотографии до и после). Но я также отмечаю, что общий WS также подскочил. Возможно, из-за увеличения размера изображений NGEN?
Так что я бы подумал, что мне нужно принять это во внимание, и я на самом деле на несколько МБ хуже.
Но тогда я также понимаю, что, поскольку JIT не происходит, я сохраняю там некоторое пространство. JIT, я считаю, будет отображаться под частными данными.
рассчитать это как: - [Δ Изображение ShareableWS] + ([Δ Изображение PrivateWS] - [ΔPrivate данных Общая WS])
Используя цифры ниже:
- 56,3 + (- 58,3 - -6,8) = экономия 4,8 МБ (за каждый последующий процесс)
Так что, я думаю, вопрос в том, что я делаю это правильно? Есть ли что-то, чего я не вижу или не могу учесть здесь?
ПЕРЕД НГЕН
ПОСЛЕ NGEN
Спасибо, что согласен с моим пониманием. Это помогает услышать, как кто-то еще подтверждает то, о чем я думал. Я также обнаружил, что могу получить точное количество JIT-кода, используя команду «eeheap -loader» в sos.dll во время отладки. К сожалению, для нас вышеуказанная программа является только одной в комплекте клиентских программ, которые необходимо будет развернуть. В общей сложности точка безубыточности и последующая экономия таковы, что мы решили не продолжать ngen в это время. – sger6218