如何限制甚至禁用Windows Server 2008R2上的文件缓存?


9

有一台机器,具有非常快的RAID阵列和快速的互联网连接。但是,这只是得到了MEM的8GB,运行了快,当上传上升。

有什么想法可以禁用或限制缓存吗?
(我尝试从设备管理器中禁用“写缓存”。但这只是写缓存,它没有帮助。)



@OliverSalzburg不幸的是,它现在不在待机状态。待机状态很好,应始终打开。这是好东西。但是现在,由于某种原因,此ram被用作“活动”。(我正在使用uTorrent来测试速度,并且在快速传输下开始发生。)
Apache

Answers:


4

缓存的全部要点是它使用未使用的内存,并在应用程序请求更多内存时立即将其放弃。因此,您不想限制它的大小,因为这样做只会使自由的ram完全浪费掉。


9
请告诉我的Windows 7,它交换了所有程序,只是将视频文件编码时填充到缓存中(该文件将只被读取一次),并使整个包装盒崩溃。
Jan Schejbal

这可能取决于LargeSystemCache选项。不管出于什么原因,我都设置了它(可能是从我拥有的RAM足以完成我所做的一切的那一刻开始)。
Jan Schejbal

@JanSchejbal,由于几年前我放弃使用Windows,所以我不再记得该设置。通常,内核会尝试从空闲了一段时间的进程中换出页面,因为可以更好地将内存用于活动进程的缓存文件。该设置使其在此方面更具攻击性。
psusi


3

您必须调用
此处记录的系统API SetSystemFileCacheSize():http : //msdn.microsoft.com/zh-cn/library/aa965240.aspx

一些GUI程序允许它:http : //technet.microsoft.com/zh-cn/sysinternals/bb897561
但是您可能更喜欢CLI,以便在系统启动时自动运行它:http : //www.uwe-sieber.de/ntcacheset_e .html(位于页面中间,适用于2k8)

或者只是编写一个Powershell脚本,调用SetSystemFileCacheSize()

请注意,强烈建议您禁用用于生产的缓存。
对于虚拟机,经常将缓存大小限制为较小的值,而不是禁用它。


嗯...到目前为止,太好了!我会尽快报告。
Apache

那真是怪了。我已经将工作大小MAXIMUM设置为1 GB,它可以顺利通过。它会更高,它不在乎值或限制。为什么?
Apache

您必须确保监视正确的值。为此使用cacheset实用程序。
格雷戈里·穆萨特

2

我们公司的Windows Server 2008 R2上也遇到了此问题。在我们的情况下,机器完全卡住了。在Windows的此服务器版本上,这似乎是一个错误,因为在相同的情况下,无论是在我的小得多的Windows 7计算机(在VirtualBox中运行)还是在Linux下,都没有发生此错误。

您可以使用其他API已发布的API将缓存设置为某个限制,但是您可以找到直接使用它的应用程序,例如SetSystemFileCacheSize.exeNT Cache Setter

缺点是您需要在每次重新启动后设置缓存。您也可以一次性刷新整个缓存。

我们将具有14 GB RAM的VM上的文件缓存设置为4 GB,它可以工作。刷新效果也很好,您可以直接在任务管理器中看到它。

命令行示例:

  • 显示当前的Windows设置:

    SetSystemFileCacheSize.exe
    
  • 显示帮助:

    SetSystemFileCacheSize.exe /?
    
  • 将最小大小设置为8 MB,最大大小设置为128 MB:

    SetSystemFileCacheSize.exe 8 128
    
  • 禁用最小大小并将最大大小设置为128 MB:

    SetSystemFileCacheSize.exe off 128
    
  • 禁用最小和最大大小:

    SetSystemFileCacheSize.exe off off
    
  • 刷新文件缓存:

    SetSystemFileCacheSize.exe flush
    

注意:该工具必须以管理员权限启动。


0

要限制文件缓存,请确保未启用“文件共享性能的最大选项”,并且可以通过选择“最小化使用的内存”或“平衡”来指定最小的内存文件缓存量。

要检查当前配置,请转到:开始->控制面板->网络连接->本地连接->在“常规”选项卡上,“属性”->“选择文件和打印机”->“属性..”。如果选择了“最大化”选项,则选择任何其他选择。


属性选项不适用于打印机和文件共享。:)无论如何,它是关闭的,它是缓存。但是在Rammap中,每个文件都进入了文件列表,并且活动内存不断增长。
Apache
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.