当我的文件复制过程间歇性失败时,我应该捕获哪些信息" System.IO.IOException:没有足够的存储空间来处理此命令。"异常?
这个过程已经成功运行了多年,但在过去的一周里一直在失败。 IT人员向我保证服务器环境中没有任何变化。
文件复制服务,.Net 3.5 Windows服务,是为"任何CPU"而构建的控制台应用程序。平台,在Windows Server 2008 R2 64位计算机上以域用户的身份运行。它将文件从源共享复制到目标共享。
源共享位于Windows Server 2008 R2标准64位SP1计算机上。
目标共享位于Windows Server 2008 Enterprise 32位SP2计算机上。它有超过1TB的可用空间,被复制的文件是小pdf(大约18k)。
复制文件的代码行是:
System.IO.File.Copy("\\SourceShare\folder\file.pdf", "\\DestinationShare\folder\file.pdf", true);
当此调用失败时,使用" System.IO.IOException:没有足够的存储空间可用于处理此命令。"例外,我应该捕获哪些环境信息来帮助我诊断问题?
P.S。以下是在典型异常期间捕获块中捕获的一些数字。看到任何暗示"没有足够存储空间的原因"错误?
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
答案 0 :(得分:0)
如果您确定服务器上有可用空间并且您确信自己拥有正确的权限,那么我建议您检查IRP Stacksize。
由于NonPagedPool和PagedPool利用率很高,可能会发生这种情况。
文章介绍了如何更改Windows Server 2003及更低版本的IRPStack大小: http://support.microsoft.com/kb/285089
这应该适用于Windows Server 2008,但我不确定。