我们有一台 Windows Server 2008R2 服务器,配备 32GB RAM,以及 15Tb 存储空间中约 1,000,000 个文件系统对象。利用率非常低(仅支持 2 名开发人员),因此保留文件内容缓存(映射文件)并不重要,但快速访问文件元数据(元文件)却很重要。服务器行为似乎恰恰相反。映射文件分配扩展以使用所有可用内存,而元文件似乎经常被清除。
示例 - 查询属性(选择根文件夹 -> 属性)后,图元文件分配增加到 ~750MB(很棒!)。但是,当我在一两个小时后执行相同操作时,元数据分配已降至 ~300MB,并发生完整的磁盘重新扫描(1-2 分钟,不太好!)。
如何保存缓存的图元文件内容?
RamMap 输出图形在这里 -https://i.stack.imgur.com/1GBZ5.jpg
答案1
您可以尝试通过修改我的来增加最小系统文件缓存大小服务器故障时的 powershell 脚本在前面插入一行
$status = [MyTools.cache]::Set( $SFCMin, $NewMax, $SFCFlags ) # calls the c# routine that makes the kernel API call
并更改设置行以不减少最大值,因此它读取
$SFCMin = 1 * $GiB
$status = [MyTools.cache]::Set( $SFCMin, $SFCMax, $SFCFlags ) # calls the c# routine that makes the kernel API call
将存储图元文件数据的最小缓存设置为 1吉布。
请注意,其他人发现最低需要至少 64基布小于最大值。默认最大值为 1硼化钛。
您还应该调查一下是什么原因导致了大约 21GB 的“驱动程序锁定”活动内存。