2010-12-01 191 views
6

我正在測試appfabric緩存的性能。爲此,從我的本地機器上,我打到LAN上的緩存主機。此緩存主機在Windows Server 2008上運行,並且除了基本沒有安裝任何內容外。它有8演出的RAM。它也是一個VMware虛擬服務器,當我點擊緩存主機時,我可以看到正在使用的內存增加。但是某個地方很腥。正在使用的主要數據字節總數是1.5 Gig。對象大小爲1744字節(使用ANTS分析器)。總對象數爲2,521,451。我已禁用驅逐。但是,這很有趣,一旦服務器遇到節流狀態,我可以看到服務器的RAM正在使用7.72 Gig,但除了使用1.8 gig的分佈式緩存之外,沒有其他應用程序使用如此高的數量內存。C#內存泄漏?

我使用Visual Studio 2010,而我將在平行

閱讀對象我想問這樣的問題:

哪裏是我的記憶中去?處於節制狀態的服務器表示我使用7.72演出的分配內存,而在任務管理器中,我可以看到幾乎只有3 Gig正在使用(如果我添加了所有運行進程的內存)

+0

你在服務器上運行VS嗎?在開始之前/停止應用程序之前,有多少內存正在使用? – 2010-12-01 14:16:41

+4

您的內存使用量數據來自哪些列?因爲2,521,451對象時間1744字節給4GB。 – Gabe 2010-12-01 14:20:36

+0

不是一個真正的直接答案,但是由於您使用了這麼多的數據,您可能會對更高效(和免費)的序列化程序感興趣。讓我知道如果是這樣... – 2010-12-01 15:45:58

回答

1

我不是完全可以確定這一點,因爲在你看到不同RAM使用量(VMWare客戶或主機)的問題中並不清楚。

在Server 2008上運行VMWare Server時,主機上任務管理器報告的內存使用量不考慮虛擬機個人使用情況。我前一陣子注意到了這一點,我不確定這是否是一個錯誤/已知問題/設計行爲。

示例:我的Server 2008計算機上運行3個虛擬機,每臺虛擬機運行不同的Windows版本,並且應用程序正在運行。除了目前的虛擬機以外,主機上沒有任何內容正在運行。主機上的任務管理器報告使用了〜2GB的RAM,而每臺客戶機至少使用1GB。

你能澄清你的內存使用量數據來自哪裏嗎?

3

Gagan,如果你還有這個問題,你能下載SysInternals的Process Monitor嗎?你可以找到它here。運行它,然後爲內存專用字節,工作集和虛擬大小添加列。高峯專用字節和工作集也不會傷害,並且還有其他內存列,您可以添加爲樂趣:))

任務管理器不會給你虛擬大小(Windows 7可以讓你添加提交大小,唐不知道Server 2008是否也有這個功能)。這應該讓你更清楚地瞭解記憶的進展情況。

讓我們知道這是否有幫助,或者您需要進一步的幫助來確定您的記憶力!