登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

天道酬勤 玩物丧志

用勇气去改变可以改变的事情,用胸怀去包容无法改变的事情,用智慧去判断两者的区别

 
 
 

日志

 
 

C# 无法创建目录或文件 问题的解决办法  

2011-07-30 17:54:40|  分类: C#文件网络传输 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
问题现象:我们的软件运行在Windows server 2003系统上,软件是一个接受文件软件,将接受的文件存于一个文件夹下,当运行到一定的时候,大概文件夹下有10w个文件的时候,就弹出“无法创建目录或文件”对话框,这是是我们catch到的异常。

问题原因:

可能有两种:

一、我们是不是使用了Windows server 的磁盘限额功能,限制了每个用户的所能使用磁盘的大小。在一个有很多用户的系统上,系统必须限制每个用户的磁盘使用空间,以免个别用户占用过多的磁盘空间影响系运行和其他用户的使用。限制用户的磁盘使用空间就是给用户分配磁盘限额(quota),用户只能使用额定的磁盘使用空间,超过之后就不能再存储文件。

磁盘限额是系统管理员用来监控和限制用户或组对磁盘的使用的工具。磁盘限额可以从两方面限制:其一,限制用户或组可以拥有的inode数(文件数);其二,限制分配给用户或组的磁盘块的数目(以千字节为单位的磁盘空间)。另外,设置磁盘限额还涉及如下三个概念。

硬限制:超过此设定值后不能继续存储新的文件。

软限制:超过此设定值后仍旧可以继续存储新的文件,同时系统发出警告信息, 建议用户清理自己的文件,释放出更多的空间。

时限:超过软限制多长时间之内(默认为7天)可以继续存储新的文件。

磁盘限额是以每一使用者,每一文件系统为基础的。如果使用者可以在超过一个以上的文件系统上建立文件,那么必须在每一文件系统上分别设定。

二、可能是由于单个文件夹下面的文件数量过多,超出了文件管理系统的管理数量。我们项目中,用来存储接受文件的磁盘格式是FAT32的,其特定文件夹下最大文件数量是65,534,而我们的文件数量超过了10w,已经很不稳定了。关于各种磁盘格式对文件数量的支持请参考博客:

FAT,FAT32,NTFS单目录文件数量限制

解决办法:

1.“我的电脑”->"属性"->"限额",查看是否超过了磁盘限额。如果没有限额标签,则说明是磁盘格式为FAT32的,需要转成NTFS格式的

2.如果是文件数量过多,则也需要将FAT32格式转为NTFS格式,

命令为:convert c:/FS:NTFS

  评论这张
 
阅读(1769)| 评论(0)

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018