2011-06-14 176 views
1

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)。

執行我的服務時沒有例外,我可以關閉和/或處理的所有資源都儘快關閉/處置。我的服務的內存分配穩定。

在所有情況下,這是同樣的問題。如何解決它?

在此先感謝。

文森特。

回答

1

問題解決了MSDN上。

MSDN Thread

+1

你不應該只給一個鏈接到另一個網站作爲一個答案,因爲該網站可能會過時,未來。相反,單擊此答案上的「編輯」鏈接,並在此處包含解決方案的主要部分。請參閱:http://meta.stackexchange.com/q/8259 – 2012-11-14 19:10:47