Linux下生成的文件能超过2G吗

Linux下生成的文件能超过2G吗,第1张

Linux系统单个文件大小当然能超过2G咯,以Linux的ext2文件系统为例,当ext2文件系统的block大小(文件系统的block大小是分区格式化时指定的)为1KB时,最大单个文件大小限制是16GB;当ext2文件系统的block大小是2KB时,对于单个文件大小的限制是256GB;而当ext2文件系统的block大小达到4KB时,单个文件的大小限制更是高达2TB。所以文件大小超过2G没有一点问题。

最近项目用到的日志系统,在Linux下写的日志文件,发现最大只能到2GB,很奇怪,用ulimit检查,系统显示无限制,而且系统是Linux 2.6的内核。使用的也是EXT3文件系统。而且更奇怪的是,我在系统里还保存了4.7GB大小的Debian 安装的iso文件。最后研究下来发现,要读些超过2GB文件,需要用到大文件扩展(Large File Extension)的函数和编译选项。

这些函数分别是fopen64等,编译的时候需要给gcc增加-D_LARGEFILE_SOURCE的选项。具体的函数说明,可参见:

http://www.mkssoftware.com/docs/man5/lf64.5.asp。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11896174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存