MSDN Thread(MSMQ)mqsvc.exe不釋放內存
大家好。
首先,請原諒任何英文錯誤在下面的描述,因爲,我不是一個母語和好,我不能把它完美地寫。
我試圖創建一個.NET(4.0)服務從幾個隊列可恢復消息的遠程/交易/異步接收。因此,首先,我使用BeginPeek方法,然後在TransactionScope中使用Receive方法(隱式使用MSDTC)。
問題是運行我的服務的主機(win7/2k8r2 sp1)的mqsvc.exe,它什麼都沒做(當然,沒有什麼與消息的接收/託管有關,MSMQ是空的和乾淨的)。 mqsvc.exe內存分配增長並且從不釋放任何內存。有關緩存清理間隔的所有MSMQ註冊表鍵都有一個較短的時間值(大約1分鐘)。
我嘗試了幾種選擇:
- 與本地和遠程MSDTC(遙控器,帶明顯的郵件主機)。
- 與COM庫,而不是.NET mqoa.dll使用明確的MSDTC事務的MSMQ。
- 與幾個不同的機器(所有win7/2k8r2 sp1)。
執行我的服務時沒有例外,我可以關閉和/或處理的所有資源都儘快關閉/處置。我的服務的內存分配穩定。
在所有情況下,這是同樣的問題。如何解決它?
在此先感謝。
文森特。
你不應該只給一個鏈接到另一個網站作爲一個答案,因爲該網站可能會過時,未來。相反,單擊此答案上的「編輯」鏈接,並在此處包含解決方案的主要部分。請參閱:http://meta.stackexchange.com/q/8259 – 2012-11-14 19:10:47