C# 诊断;存储空间不足,无法处理此命令;例外
当我的文件复制过程因“System.IO.IOException:没有足够的存储空间来处理此命令”而间歇性失败时,我应该捕获哪些信息。异常C# 诊断;存储空间不足,无法处理此命令;例外,c#,windows,.net,C#,Windows,.net,当我的文件复制过程因“System.IO.IOException:没有足够的存储空间来处理此命令”而间歇性失败时,我应该捕获哪些信息。异常 这个过程已经成功运行了多年,但在过去的一周里一直断断续续地失败。IT人员向我保证,服务器环境中没有任何变化 文件复制服务是一种.Net 3.5 Windows服务,是为“任意CPU”平台构建的控制台应用程序,在Windows Server 2008 R2 64位计算机上以域用户身份运行。它将文件从源共享复制到目标共享 源共享位于Windows Server
这个过程已经成功运行了多年,但在过去的一周里一直断断续续地失败。IT人员向我保证,服务器环境中没有任何变化 文件复制服务是一种.Net 3.5 Windows服务,是为“任意CPU”平台构建的控制台应用程序,在Windows Server 2008 R2 64位计算机上以域用户身份运行。它将文件从源共享复制到目标共享 源共享位于Windows Server 2008 R2标准64位SP1计算机上 目标共享位于Windows Server 2008 Enterprise 32位SP2计算机上。它有超过1 TB的可用空间,并且被复制的文件是小PDF(大部分约为18k) 复制文件的代码行为:
System.IO.File.Copy("\\SourceShare\folder\file.pdf", "\\DestinationShare\folder\file.pdf", true);
当此调用因“System.IO.IOException:没有足够的存储空间来处理此命令”而失败时。异常,我应该捕获哪些环境信息来帮助我诊断问题
注意:以下是在典型异常期间捕获到的catch块中的一些数字。是否看到任何提示“存储空间不足”错误原因的信息
如果您确定您的服务器上有可用空间,并且绝对确定您拥有正确的权限,那么我建议您检查IRP Stacksize 这可能是由于非页面工具和页面工具的利用率较高所致 文章介绍了如何更改Windows Server 2003及以下版本的IRPStack大小:
这也适用于Windows Server 2008,但我不确定。“IT团队向我保证,服务器环境中没有任何变化。”不要立即认为他们是对的。你检查过权限了吗?我假设没有,但是我没有访问源机器或目标机器的权限。我唯一的信息来源是当异常发生时我能收集到的任何信息。因此,我的问题是。在任何情况下,故障都是间歇性的;大多数文件复制都成功了。执行代码的计算机是否会耗尽空间?好问题。当记录异常时,您将如何在运行时捕获该异常?您知道在记录异常以诊断IRP Stacksize是否存在问题时需要捕获哪些信息吗?@TomRegan。这将向您展示如何进行故障排除以及如何进行检查。
nonpagedSystemMemorySize64 = 43 kb
pagedMemorySize64 = 330,680 kb
pagedSystemMemorySize64 = 248 kb
peakPagedMemorySize64 = 449,196 kb
peakVirtualMemorySize64 = 825,024 kb
peakWorkingSet64 = 442,792 kb
privateMemorySize64 = 330,680 kb
virtualMemorySize64 = 818,048 kb
workingSet64 = 324,360 kb
totalProcessorTime = 00:11:05.3442650
userProcessorTime = 00:08:14.1019673
privilegedProcessorTime = 00:02:51.2422977
handleCount = 316
gcTotalMemory = 266,652 kb