在一些操作系统中(如Windows 2008),w3wp.exe进程性能计算器Private Bytes,监控时发现内存突然下降的问题,但此时操作系统的物理内存充足(下降的时候,多次测试没有发现系统的性能下降,但使用操作系统功能可能变慢)。
进行监控,发现出现问题的时候备用内存很高,但可用内存趋向为0。
备用(Standby)内存的含义:已经被使用,但非活动的内存页,它们会一直保留在物理内存,如果某些进程需要的内存在备用内存中,将被重用,所以实际上为进程的缓存。但内存不够的时候,有时候不会主动释放。
查阅相关的文档,基本上任务属于以前版本的操作系统BUG。
要看到哪些进程使用了备用内存,可以通过RAMMap(http://technet.microsoft.com/en-us/sysinternals/ff700229.aspx)工具来查看。
结果类似如下:
w3wp.exe总共内存为3730060K,其中专用内存为2505700K,备用内存为1213952K。也就是进程缓存超过了1GB的本地缓存(非企业库缓存)。
如果发现备用内存太大,可用内存太少,影响了操作系统使用的时候,可以通过RAMMap工具来释放。
执行后,可以看到备用内存立即下降到100MB以内。
针对不同的操作系统,结果可能会有所差异,根据查阅的结果,建议应用服务器操作系统的版本不要低于Windows 2014版本。
推荐阅读