I am currently trying to calculate whether NGEN would have any benefit for our .NET client in terms of memory savings when running on a Citrix farm.
My primary reference is the following article:
This article suggests that using VMMap I just need to check to see if my shareable WS increases and I'm golden.
In fact I do see an increase of about 56MB in shareable WS (refer to Before and After pics). But I also note that the total WS has jumped up as well. Perhaps due to the increased size of the NGEN images?
So I would think that I need to take this into account and I'm actually a couple MB worse off.
But then I also understand that since JIT is not occurring I am saving some space there. The JIT I believe will show up under private data.
I calculate this as: - [Δ Image ShareableWS] + ([Δ Image PrivateWS] - [ΔPrivate Data Total WS])
Using the figures below:
- 56.3 + (-58.3 - -6.8) = saving of 4.8MB (per subsequent process)
So I guess the question is - am I doing this right? Is there anything I'm missing or failing to take into account here?
BEFORE NGEN
AFTER NGEN