2011-02-09 52 views
4

我在我的應用程序中使用流暢的nhibernate,我試圖找出高內存使用的原因。 (我說高了,它是60MB,但它是一個網絡應用程序,它不是很大)不幸的是,它看起來很多是在非託管內存中,所以我開始採取措施 - 只要我拿出任何調用nhibernate ,內存使用量降至11MB!爲什麼哦爲什麼它會佔用這麼多的內存?特別是,爲什麼它會佔用非託管內存?Nhibernate使用大量內存

我一直在'谷歌搜索'這一整天,所有我能找到的是來自人們說「NHibernate吃內存...」的帖子,並回答說「不,沒有證據」。 NHibernate的人否認它?

回答

5

可能的原因:NHibernate緩存。

檢查這些文章:

牢記 「更多的內存使用情況」 不應該 「這是魔鬼」。我的意思是說,如果託管所有東西的機器都有足夠的資源,那麼緩存或其他因素會提高整體性能。

你可以使用這個免費的探查,所以你可以檢查什麼是「浪費」你的記憶 - 這也許不是浪費內存,但對於性能優化正確使用 - :

+0

感謝 - 在某種程度上緩存正在發生,因爲我可以看到很多我的數據對象只是掛在(我不是100%高興,但它只是真正的約4MB,但我寧願它不是至於那些我使用的大型網站,大約有70MB,所以我會試着把它關掉) - 這是30MB的非託管內存分配我最擔心的事情似乎很多。 – Paul 2011-02-09 08:25:19