djs*_*djs 5 windows-7 windows-xp network-share server-message-block
我收到了一个新的 Windows 7 工作站(替换了旧的 Windows 7 工作站)并开始遇到从 Windows XP 机器访问我的文件共享的错误。
我收到似乎来来去去的各种错误(在某些时候它可以正常工作几个小时)。一种是:
没有足够的存储空间来处理此命令
我还看到在尝试从共享中访问大量文件的应用程序中打开文件的随机失败。
Microsoft 发布了一篇关于该主题的神秘知识库文章,建议增加IRPStackSize
解决问题的方法,而无需解释为什么需要这样做。
我发现IRPStackSize
在我的工作站和客户端 XP 机器上增加 似乎可以使问题消失。
但是,为什么我需要这样做?为什么一台Win7机器会出现这个问题而另一台机器没有?它们都在同一个域中,因此组策略会将相同的设置下推给它们,其中一些我已经手动验证过。我怎么知道合适的值是多少?或者我应该设置为最大值 50?
这就是给我的提示:
“我还发现尝试从共享访问大量文件的应用程序中打开文件会随机失败。”
Windows 使用分层 I/O 模型,其中驱动程序相互连接并利用底层驱动程序的服务来执行其工作。利用彼此服务的驱动程序层通常称为“驱动程序堆栈”。
特定堆栈中的过滤器太多(每个经过防病毒层、基本过滤引擎、ntfs 等层的请求数),因此默认的 IRPStackSize 不够大。增加默认值允许所有过滤器拥有自己的 I/O 堆栈位置,每个人都很高兴。这不是一般的 Windows 问题,而只是系统中某些驱动程序的限制。
考虑将频繁使用的文件共享托管在文件服务器上,然后阅读 2008 R2 调整指南,特别是有关调整文件服务器性能的部分:http://msdn.microsoft.com/en-us/windows/hardware/gg463392
归档时间: |
|
查看次数: |
7520 次 |
最近记录: |