下面是个不完整的小列表:
NTFS(Windows):支持最大分区2TB,最大文件2TB
FAT16(Windows):支持最大分区2GB,最大文件2GB
FAT32(Windows):支持最大分区128GB,最大文件4GB========windows有这个限制而已
Ext2
最大文件大小: 1TB
最大文件极限: 仅受文件系统大小限制
最大分区/文件系统大小: 4TB
最大文件名长度: 255 字符
缺省最小/最大块大小: 1024/4096 字节
缺省inode分配: 每4096字节为1
在强制FS检查前的最大装载: 20(可配置)
Ext3
最大文件大小: 1TB
最大文件极限: 仅受文件系统大小限制
最大分区/文件系统大小: 4TB
最大文件名长度: 255 字符
缺省最小/最大块大小: 1024/4096 字节
缺省inode分配: 每4096字节为1
在强制FS检查前的最大装载: 20(可配置)
ReiserFS
最大文件大小: 1TB
最大文件极限: 32k目录,42亿文件
最大分区/文件系统大小: 4TB
最大文件名长度: 255 字符
JFS
最小文件系统大小 16 MB
最大文件大小: 受体系结构限制
最大文件极限: 受文件系统大小限制
缺省最小/最大块大小: 1024/4096 字节
缺省inode分配: 动态
我们应用电脑,可我们知道电脑是怎样工作的么?电脑中必不可少的就是操作系统。这里介绍Linux的知识,让你学好应用Linux系统。今天讲讲Linux文件系统限制及特点,希望你记住Linux文件系统限制及特点。
Ext2
Ext2 文件系统是Linux 特有的文件系统,它拥有传统UNIX 文件系统的许多特性,如块、inode
和目录等概念。Ext2 非常健壮,具有很多优良的性能。同时,Ext2 也是可扩展的,它提供
的扩展功能允许用户在不格式化文件系统的情况下使用新的特性。
----------------------------------------------------
最大文件大小: 1TB
最大文件极限: 仅受文件系统大小限制
最大分区/文件系统大小: 4TB
最大文件名长度: 255 字符
缺省最小/最大块大小: 1024/4096 字节
缺省inode 分配: 每4096 字节为1
在强制FS 检查前的最大装载: 20(可配置)
----------------------------------------------------
Ext3
Ext3 文件系统构筑于ext2 文件系统之上,对标准的Linux ext2 文件系统进行了日志扩展。
日志特性显著地减少文件系统崩溃后的恢复时间,它被广泛地应用于带有共享磁盘的HA 站
点。
----------------------------------------------------
最大文件大小: 1TB
最大文件极限: 仅受文件系统大小限制
最大分区/文件系统大小: 4TB
最大文件名长度: 255 字符
缺省最小/最大块大小: 1024/4096 字节
缺省inode 分配: 每4096 字节为1
在强制FS 检查前的最大装载: 20(可配置)
----------------------------------------------------
ReiserFS
ReiserFS 文件系统3.2.25 版是一种可选的日志文件系统。其优点包括更好的磁盘空间利用率、
更好的磁盘访问性能和更快的崩溃恢复功能。
----------------------------------------------------
最大文件大小: 1TB
最大文件极限: 32k 目录,42 亿文件
最大分区/文件系统大小: 4TB
最大文件名长度: 255 字符
----------------------------------------------------
JFS
日志文件系统(Journaled File System, JFS)是一种全64 位文件系统。所有文件系统结构字
段均为64 位大小。它允许JFS 同时支持大文件和分区。JFS 由IBM 根据GPL 许可开发,它
是从其AIX 系统移植过来的。
JFS 提供基于日志的字节级文件系统,它可以开发用于面向交易的高性能系统。它是可扩展
的,且稳定可靠,其优于非日志文件系统之处在于其快速重新启动能力。JFS 可以在数秒钟
或分钟之间将文件系统恢复到完好一致的状态。
尽管它主要针对服务器的高吞吐量和可靠性要求(从单一处理器系统到高级多处理器和集群
系统)而设计,JFS 同样也适用于要求性能和可靠性的客户配置。
----------------------------------------------------
最小文件系统大小 16 MB
最大文件大小: 受体系结构限制
最大文件极限: 受文件系统大小限制
缺省最小/最大块大小: 1024/4096 字节
缺省inode 分配: 动态
----------------------------------------------------
LVM
逻辑卷管理程序(Logical Volume Manager, LVM)是一种在线磁盘存储管理的子系统,它已
经成为跨Linux 存储管理的“事实 上”标准。
LVM 支持磁盘和磁盘子系统的企业级卷管理,它可以成组任意数量的磁盘到卷组。卷组的
总能力可以分配给逻辑卷,这些逻辑卷可以按正常块设备来进行访问。
此外,LVM 还提供存储的逻辑分离。当在线地对块设备进行大小调整的过程中,可以将数
据从一个物理设备移动到另一个物理设备。LVM 也允许系统管理员轻松地对系统进行升级,
去除有故障的磁盘,重新组织负载,并适应变化了的系统需求。
----------------------------------------------------
最大逻辑卷大小 从使用4 Mb 盘区的256 Gb
到使用较大PE 的1 Pb
最大逻辑卷数: 256
最大逻辑组数: 99
每PV 的最大PE 数: 65534
缺省物理盘区大小: 4 Mb
希望你能学会Linux文件系统限制及特点。
===========是函数的问题导致,不是文件本身
如何解决linux下文件大小的限制
在linux下,用fwrite等CAPI函数来写文件时,会有一个文件大小的限制,一般是2G。问题是在做mysql数据库备份时发现
的。在网上搜了一下,确实有人碰到跟我一样的问题。解决的方案写的并不是很详细。不过有人贴出一个fseeko的文档说明出来,
里面有很重要的信息就是,其中fseeko函数中的off_t在大部分平台上默认为4字节大小。但是可以通过#define_FILE_OFFSET_BITS
64来把off_t这个转化为64比特类型的大小。其实也可以在linux下man fseeko来查看。
虽然有这个信息,但是并不知道怎么用,第一反应在我的“头文件”中加入#define _FILE_OFFSET_BITS64,重新编译一次
,实验无效。突然想到mysqldump这个命令是可以写一个超过2G大小的文件,查看了一下mysqldump的源代码。发现其实应该是在编
译时加入编译选项-D_FILE_OFFSET_BITS=64就可以解决此问题。
实例:
// example.c
#include <stdio.h>
int main(int argc, char* argv[])
{
FILE*fp;
if ((fp =fopen("test.dat", "w+")) == NULL)
return;
int a =0;
chardata[1024] = "";
while(true)
{
fwrite(data, sizeof(data), 1, fp);
a++;
if (a >= 1024*2049)
break;
}
fclose(fp);
}
编译:gcc -g -o example -D_FILE_OFFSET_BITS=64 example.c
问题解决!!!