1

来自任务管理器的大型 VM 页面大小和正常的内存使用数字对应用程序意味着什么?它们是否意味着应用程序在内存使用方面表现不佳?

我们有一个应用程序,一些用户声称它会使他们的 XP 机器变慢。

我们看到用户还运行着其他繁重的应用程序。但是当我们看到他们的任务管理器数据时,我们意识到任务管理器中的“内存使用”列对于我们的应用程序来说是正常的,但与其他应用程序(包括重型应用程序)相比,VM 大小相当高。

例如

应用程序 X(大型应用程序和中等速度) - 实际使用情况 (500 MB) - VM 使用情况 (600 MB)

我们的应用程序(正常大小的应用程序和非常慢) - 实际使用量 (200 MB) - VM 大小 (900 MB) <==== 这是否表明我们的应用程序泄漏?

有人可以为我提供更多信息吗?

谢谢

4

1 回答 1

1

嗯,它是一只小猪。泄漏是可能的,但只有在 VM 大小不受控制地不断攀升时才开始检查。工作集当然可以远低于 VM 大小,未使用的内存页面将被换出以提供其他进程所需的 RAM。一个很好的统计数据是页面错误增量,您必须添加它。如果这个峰值很多,那么用户抱怨该程序减慢了一切可能是有效的。

有一种情况在 .NET 中并不少见,当您拥有大量嵌入式资源时,您将消耗大量 VM,但工作集却很少。没关系。

使用内存分析器当然是高度推荐的,它比任务管理器给你更多的洞察力。

于 2013-11-13T13:48:04.313 回答