如果 IIS 中的应用程序池中的虚拟字节数很高,是否会很糟糕?

如果 IIS 中的应用程序池中的虚拟字节数很高,是否会很糟糕?

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

我的服务器运行着几个不同的网站。我们发现了一些性能和内存问题。

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

虚拟字节数如此之高是个问题吗?还是这只是一个转移注意力的借口?如果虚拟字节数很高,是否意味着它将内存存储在页面文件中,这可能会导致系统抖动?或者应用程序池只是在 Windows x64 上创建了一大块虚拟内存,并且不会影响其他进程或写入页面文件?

答案1

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

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

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

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

相关内容