我目前正在尝试计算 NGEN 是否会对我们的 .NET 客户端在 Citrix 场上运行时节省内存方面有任何好处。
我的主要参考是以下文章:
本文建议使用 VMMap 我只需要检查我的可共享 WS 是否增加并且我是金子。
事实上,我确实看到可共享的 WS 增加了大约 56MB(请参阅之前和之后的图片)。但我也注意到,总 WS 也上升了。也许是由于 NGEN 图像的尺寸增加了?
所以我认为我需要考虑到这一点,实际上我的情况要差几兆。
但后来我也明白,由于没有发生 JIT,我在那里节省了一些空间。我相信 JIT 会出现在私有数据下。
我将其计算为: - [Δ Image ShareableWS] + ([Δ Image PrivateWS] - [ΔPrivate Data Total WS])
使用下图:
- 56.3 + (-58.3 - -6.8) = 节省 4.8MB(每个后续进程)
所以我想问题是——我这样做对吗?我在这里有什么遗漏或没有考虑到的吗?
在 NGEN 之前
NGEN之后