一台Windows 2008 R2主要承载大量的小文件存储,每天有大量的新增,总共分配了16G内存,在运行过程中发现内存占满,查看进程并没占用多少内存,NonPaged内存也没有占用,应该是跟文件缓存有关,同时机器上有其它应用所以不得不对缓存进行限制,这就要用到Windows DynCache程序。
安装配置后不用重启,可立刻生效,下载后的zip包中有说明。但是在有些机器上不重启不行。
Microsoft Windows Dynamic Cache Service https://www.microsoft.com/en-us/download/confirmation.aspx?id=9258
下载完成后解压DynCache.zip,执行以下步骤:
1) 并将Retail\AMD64\DynCache.*拷贝到%SystemRoot%\System32中。 2) 创建windows服务
sc create DynCache binpath= %SystemRoot%\System32\DynCache.exe start= auto type= own DisplayName= "Dynamic Cache Service"
3) 安装完成后要对注册表进行配置
双击DynCache.reg
为注册表添加内容,然后可以修改最大内存配置。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DynCache\Parameters
修改里面的**MaxSystemCacheMBytes**
值:
0——表示最大使用90%的物理内存
1~99——表示最大使用物理内存的百分比
> 200——表示最大可使用的Mbytes数值
配置完成后启动服务就生效了,观察下内存占用,服务会动态监测注册表。
sc start DynCache