如果您的虚拟字节数在 IIS 的应用程序池中很高,这会不会很糟糕?

mhe*_*384 4 iis application-pools virtual-memory paging

IIS7.5 管理器中的工作进程窗格中的虚拟字节是什么意思相关

我有一台运行几个不同站点的服务器。我们看到了一些性能和内存问题。

当我转到工作进程时,我看到其中一个站点的虚拟字节数为 5 GB。专用字节是更合理的 800 MB。服务器为 x64,具有 8GB 内存和 IIS 7。

虚拟字节数如此之高是一个问题,还是一个红鲱鱼?如果虚拟字节数很高,这是否意味着它正在将内存存储在可能导致抖动的分页文件中?还是应用程序池只是在 Windows x64 上创建了一大块虚拟内存,而不会影响其他进程或写入分页文件?

Gre*_*kew 5

不一定有问题。该虚拟内存配置文件是我们看到的相同架构和物理内存使用情况。

如果它无限期地升级,那将是糟糕的,它最终会终止,尽管操作系统限制相当高。如果执行了较大的虚拟内存分配,而系统没有足够大的连续段,则会导致虚拟内存分配失败。

如果您有兴趣考虑虚拟内存分配,您可以运行 SysInternals 的 VMMap。在运行 .NET Framework 应用程序的 w3wp 进程上,这通常是垃圾收集器管理的堆。请注意,当 VMMap 连接到进程时,w3wp 在收集此信息时将持续一段时间的大量使用 - 需要牢记这一点。

垃圾收集和性能
http://msdn.microsoft.com/en-us/library/ee851764.aspx