我们有一个 ASP.NET 应用程序,围绕 MonoRail 和 NHibernate 构建,我注意到在 64 位模式或 32 位模式下运行它时会出现奇怪的行为。一切都编译为 AnyCPU,并且在两种模式下都可以正常运行,但内存使用情况差异很大。
查看 ANTS 的以下快照:
32bit_snapshot:
对比
64位快照:
两个快照的使用场景非常相似(我在两次运行中都点击了相同的页面)。
首先,为什么在 64 位模式下未使用的内存这么高?为什么非托管内存是 64 位模式下的 4 倍?
对此的任何见解都会非常有帮助。