2010-12-01 113 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是否也有这个功能)。这应该让你更清楚地了解记忆的进展情况。

让我们知道这是否有帮助,或者您需要进一步的帮助来确定您的记忆力!