一、使用ulimit -a查看系统当前配置
# ulimit -a
core file size (blocks, -c) 1048575data seg size (kbytes, -d) 131072
file size (blocks, -f) 1048575
max memory size (kbytes, -m) 32768
open files (-n) 2000
pipe size (512 bytes, -p) 64
stack size (kbytes, -s) 32768
cpu time (seconds, -t) unlimited
max user processes (-u) 262144
virtual memory (kbytes, -v) unlimited
二、编辑ulimit默认配置文件/etc/security/limits,找到如下设置:
default:fsize = 2097151
三、将文件最大尺寸限制更改为无限制,如下:
default:fsize = -1
四、登出用户后,重新登录,再次查看文件大小限制:拍亩
# ulimit -a
core file size (blocks, -c) 1048575data seg size (kbytes, -d) 131072
file size (blocks, -f) 耐贺手unlimited
max memory size (kbytes, -m) 32768
open files (-n) 2000
pipe size (512 bytes, -p) 64
stack size (kbytes, -s) 32768
cpu time (seconds, -t) unlimited
max user 昌嫌processes (-u) 262144
virtual memory (kbytes, -v) unlimited
dd命令可以轻易实现创建指定唯闹大小的文件,如dd if=/dev/zero of=test bs=1M count=1000
在当前目录下会生成一个1000M的test文件,文件内容为全0(因从/dev/zero中读取,/dev/zero为0源),但是这样为实际写入硬盘,文件产生速度取决于硬盘读写速度,如果欲产生超大滚喊文件,速度很慢。在某种场景下,我们只想让文件系统认为存在一个超大文件在此,但是并不实际写入指备罩硬盘
则可以
dd if=/dev/zero of=test bs=1M count=0 seek=100000
此时创建的文件在文件系统中的显示大小为100000MB,但是并不实际占用block,因此创建速度与内存速度相当,seek的作用是跳过输出文件中指定大小的部分,这就达到了创建大文件,但是并不实际写入的目的。当然,因为不实际写入硬盘,所以你在容量只有10G的硬盘上创建100G的此类文件都是可以的。
NTFS(Windows):芦简丛支持最大分区2TB,最大文件2TB;
FAT16(Windows):支持最大分区2GB,最大文件2GB;
FAT32(Windows):支持最大分区128GB,最大文件4GB;
HPFS(OS/2):支持最大分区2TB,最大文件2GB;
EXT2和EXT3(陪樱Linux):支持最大分区4TB,最大文件2GB;
JFS(AIX):支持最大分区4P(block size=4k),最大文件4P;
XFS(IRIX):这是个正经的64位咐胡的文件系统,可以支持9E(2的63次方)的分区;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)