我的应用程序中有流畅的nhibernate,我正在尝试查找高内存使用率的原因。 (我说高,它是60MB,但它是一个网络应用程序而且它不是很大)不幸的是它看起来很多都是在非托管内存中,所以我开始把事情拿出来 - 一旦我拿出任何调用nhibernate ,内存使用量降至11MB !!为什么哦为什么要占用这么多内存呢?特别是,为什么它会占用非托管内存?
我整天都在'谷歌搜索',而且我所能找到的都是人们说“NHibernate吃记忆......”的帖子,并且答案说“不,它没有,没有证据”。 NHibernate是否会否认它?
答案 0 :(得分:5)
可能的原因:NHibernate缓存。
检查这些文章:
请记住“更多内存使用”不应该是“这是恶魔”。我的意思是,如果托管所有内容的计算机有足够的资源,某些缓存或其他因素会提高整体性能。
你也可以使用这个免费的探查器,这样你就可以检查你的内存“浪费” - 也许这不是浪费内存,而是正确使用性能优化 - :