windows server 2008 r2系统文件缓存过大的解决方法

问题描述:server 2008 r2系统会在进行大量IO操作时,占据大量内存资源,直至内存占满,从而导致系统运行速度变慢。

相关现象:
1. 内存占用率90%以上(即是是64G内存,也会占用63.5G)
2. 资源管理器中所有进程内存和较低(约10G)
3. 通过RAMMAP可以看到Mapped File一项数值很高。

产生原因:
Server2008 r2会尽量使用内存来进行文件缓存,从而提高相应文件的读写速度,然而,却没有设置一个默认的极限值(属于windows系统的问题)

解决方法:
1. 暂时解决策略:利用RAMMAP的empty system working set,可以使得文件缓存释放掉。具体如图所示。缺点是之后如果继续进行IO操作,文件缓存还会一直增加。
2. 更好的解决策略:强制设置windows系统文件缓存大小,使得其不会占用大量的内存。缺点是每次重启都需要重新设置。

相关图片:

如图所示,使用RAMMAP可以使得文件缓存完全释放,但是后期会重新增加直至填满。
使用SetSystemFileCacheSize可以使得文件缓存得到有效控制。

相关软件下载:
SetSystemFileCacheSize

参考资料:
http://social.technet.microsoft.com/wiki/contents/articles/6925.how-to-prevent-filecache-to-eat-up-all-the-ram.aspx

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注