那要看使用哪个文件系统了。
更多的子目录数量
Ext3目前只支持32000个子目录,而回Ext4取消了这一限答制,理论上支持无限数量的子目录。
更多的块和i-节点数量
Ext3文件系统使用32位空间记录块数量和i-节点数量,而Ext4文件系统将它们扩充到64位。
2. linux如何设置用户打开的文件数
具体操作,需要修改两处,并且需重新启动Linux服务器。
首先SSH登录服务器,执行 -a查看当前限制。这一步是可选,主要是看下限制,心里有数。
第一处修改:
vim /etc/security/limits.conf
在文件尾部增加:
* soft nofile 65535
* hard nofile 65535
第二处修改
vim /etc/profile
在文件尾部增加:
ulimit -S 65535
ulimit -H 65535
ulimit -n 65535
ulimit -f 6553500
保存修改后,重启Linux服务器。重启完毕后,SSH登入服务器,执行ulimit -a查看系统限制。
补充:ulimit命令的参数详细介绍
-H 设置硬资源限制.
-S 设置软资源限制.
-a 显示当前所有的资源限制.
-c size:设置core文件的最大值.单位:blocks
-d size:设置数据段的最大值.单位:kbytes
-f size:设置创建文件的最大值.单位:blocks
-l size:设置在内存中锁定进程的最大值.单位:kbytes
-m size:设置可以使用的常驻内存的最大值.单位:kbytes
-n size:设置内核可以同时打开的文件描述符的最大值.单位:n
-p size:设置管道缓冲区的最大值.单位:kbytes
-s size:设置堆栈的最大值.单位:kbytes
-t size:设置CPU使用时间的最大上限.单位:seconds
-v size:设置虚拟内存的最大值.单位:kbytes
-u <程序数目> 用户最多可开启的程序数目
3. linux一个文件夹内最多能放多少文件
linux的ext3文件系统一级子目录的个数默认为31998(个),准确地说是32000个。
Linux为了cpu的搜索效率而规定的,要想改变数目限制需要重新编译内核。在kernel代码中有这样的:
include/linux/ext2_fs.h:#define EXT2_LINK_MAX 32000
include/linux/ext3_fs.h:#define EXT3_LINK_MAX 32000
为
什么说31998个呢?这是因为mkdir创建一个目录时,目录下默认就会创建两个子目录的,一个是.目录(代表当前目录),另一个是..目录(代表上级
目录)。这两个子目录是删除不掉的,“ rm . ” 会得到“rm: cannot remove `.' or
`..'”的提示。所以32000-2=31998。
ext3文件系统下单个目录里的最大文件数无特别的限制,是受限于所在文件系统的inode数。
在一个目录下,touch了100万个文件是没有问题的。但是肯定会受到所在文件系统的inode数的限制。
df -i /dev/sdaX或者使用tune2fs -l /dev/sdaX或者mpe2fs -h /dev/sdaX查看可用inode数,后两个命令输出结果是一样的,但是跟df所得出的可用inode数会有些误差。
网上有两种解决inode数限制的办法如下
2.1 重新mkfs,mkfs时将inode数调的多一些(根据你fs中文件的总数而定),块尺寸调得小一些(根据每个文件的平均大小而定)
2.2
使用loopback文件系统临时解决:在/usr中(也可以在别处)创建一个大文件,然后做成loopback文件系统,将原来的文件移到这个文件系统
中,并将它mount到/usr下合适的位置。这样可以大大减少你/usr中的文件数目。但是系统性能会有点损失。
4. 在Linux下,一个目录最多可以存放多少个文件
linux的ext3文件系统一级子目录的个数默认为31998(个),准确地说是32000个。如有疑问到linux就该这么学看下就知道了。
5. linux主机 为什么有文件数限制
1、创建文件系统时,会将存储介质(磁盘)按照一定的比例,划出一部分区域作为存储文件名(目录名)使用,每个文件(目录)项在linux的ext文件系统中叫做一个inode,每个inode大小是固定的,划出的inode区用完时,就不能再创建文件了,也就是到达了文件最大数目的限制。
其实由于存储介质的容量都是有限的,所以所有的文件系统都有文件数量限制,但可以根据实际使用中大多数文件的大小及数量的具体需求,调整一个文件系统上的文件数限制。
2、另外,Linux主多用户操作系统,为了均衡系统所有用户的需求,对每个用户使用的系统资源也有限制(参考/etc/security/limits.conf),其中就包括每个用户同时打开的文件数、文件尺寸、cpu占用时间、登录数、内存使用限制等。
6. linux一个文件夹内最多能放多少文件
虽然我不知道具体的数量,但我想也没必要知道,因为你这种设计就有问题,大量的小文件读写会降低读写效率,因为磁头需要不断地定位,除了塌歼将文件分门别团码冲类(比如按照首字母,或者按照日期)存放之外,还可以放入数据库,或者自己想办法将其组合为大文件。
文件的数量应该是和文件系统有关系的,模段你可以查查 ext3 的相关介绍
7. linux下一个目录中最多可存放多少个文件数
512个是根目录限制,其他目录还是没关系的。 ntfs和linux ext3应该都有限制, 这可能有硬盘技术决定,和分区性质无关
8. linux文件打开数最大可设置多少
ulimit里的最大文件打开数量的默认值 如果在limits.conf里没有设置版,则默认值权是1024,如果limits.con有设置,则默认值以limits.conf为准。例如我换了一台机器,登录进去,ulimit -n显示如下: [root@zk203 ~]# ulimit -n 2000 这是因为我的limits.conf里的文件打开数是2000,如下: [root@zk203 ~]# cat /etc/security/limits.conf root soft nofile 2000 root hard nofile 2001 如果limits.conf里不做任何限制,则重新登录进来后,ulimit -n显示为1024。 [root@zk203 ~]# ulimit -n 1024 ulimit修改后生效周期 修改后立即生效,重新登录进来后失效,因为被重置为limits.conf里的设定值
9. 修改linux的最大文件句柄数限制
修改linux的最大文件句柄数限制对于一般的应用来说(象Apache、系统进程)1024完全足够使用。但是如何象squid、mysql、java等单进程处理大量请求的应用来说就有点捉襟见肘了。如果单个进程打开的文件句柄数量超过了系统定义的值,就会提到too
many
files
open的错误提示。如何知道当前进程打开了多少个文件句柄呢?下面一段小脚本可以帮你查看:1lsof
-n
|awk
'{print
$2}'|sort|uniq
-c
|sort
-nr|more修改linux的最大文件句柄数限制的方法:
1)ulimit
-n
65535
在当前session有效,用户退出或者系统重新后恢复默认值
2)修改profile文件:在profile文件中添加:ulimit
-n
65535
只对当个用户有效
3)修改文件:/etc/security/limits.conf,在文件中添加:(立即生效-当前session中运行ulimit
-a命令无法显示)[html]
*
soft
nofile
32768
#限制单个进程最大文件句柄数(到达此限制时系统报警)
*
hard
nofile
65536
#限制单个进程最大文件句柄数(到达此限制时系统报错)
4)修改文件:/etc/sysctl.conf。在文件中添加:[html]
fs.file-max=655350
#限制整个系统最大文件句柄数
运行命令:/sbin/sysctl
-p
使配置生效
10. linux哪个进程打开的文件数最多
句柄数。
inux最大打开文件句柄数,即打开文件数最大限制,就是规定的尘虚单启贺个进程能够打开的最大文件句柄数,Socket连接也算在里面,默认大小1024个。
Linux是一种免费使用和自由传派旁燃播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。