当前位置:Linux教程 - Linux文化 - Linux一个文件夹中可以存放最多的文件数是多少?

Linux一个文件夹中可以存放最多的文件数是多少?


请教几个问题! 1.Linux一个文件夹中可以存放最多的文件数是多少,如何查看? 2.如果需要很大能否修改内核?能的话怎么修改? 3.最大线程数问题: Linux线程是进程模拟的,所以受限于进程数!我用的是2.4内核据说也已经没有这个限制了,已经很大了!象修改/usr/src/linux/include/linux/tasks.h的#define NR_TASKS 是比较低的版本,2.4内核中找不到这个文件了!但是线程数仍然是有上限的,用命令ulimit -a看到是4017,但是在启动进程的时候开启到3000多一点的时候程序死掉。 分析原因可能是受限于内存大小!进程开启时系统分配一定的空间,当内存分配结束然后再开启进程时候出错死机! 据说可以通过修改分配内存的大小来提高进程数?是这样吗?如何修改? 我现在需要很多的线程,4000可能还不够用,可以通过什么方法提高这个数字?

>>> 此贴的回复 >> 1.Linux一个文件夹中可以存放最多的文件数是多少,如何查看?

这根据文件格式的不同而不同。每建立一个文件的最小单位可以查到资料的。 剩下的就看你硬盘的容量的。 理论上存无限多的文件,

2.如果需要很大能否修改内核?能的话怎么修改? 根本不需要改。

>>> 此贴的回复 >> 嗯。这个事儿你可以去问 www.kernel.org里面的mailinglist 那里面的回答一定是最权威的。 因为代码就是这帮家伙写的:)

>>> 此贴的回复 >> 理论上也不是无限的。这个问题在内核源码树的Document/filesystems/ext2.txt里有说明。

>>> 此贴的回复 >> 在一个进程中能不能启到10000以上?? 如果是你有这种需求的话,劝你还是采用分布式计算好了,就算你的内存够用,要让你的某个线程得到调度,岂不让别人等得不耐烦??假定每个线程一个时间片的总时间为20ms,在不利情况下,10000*20/1000=200秒时间,也就是说平均每200秒你的线程才得到CPU的控制权,其实人家做内核的人已经考虑到了这些问题,所以采用的默认线程大小是比较科学的

就算是你在每个线程中什么都不做,只是sleep而已,那么系统忙于切换线程的开销也不小!!!!!!!

>>> 此贴的回复 >> 1.Linux一个文件夹中可以存放最多的文件数是多少,如何查看? 每一种文件系统都不一样,不如ext2,ext3,xfs,jfs都是不同的。

2.如果需要很大能否修改内核?能的话怎么修改? 这种修改是要调查大量的代码的,限制的原因有可能是为了节约内存,也有可能是目录的结构存放在磁盘上而产生的限制。假设你想修改ext2文件系统,就需要调查内核和命令两方面的代码。

3.最大线程数问题: 4000个进程的限制早就解决了,现在你就放心的用吧,几十万都没问题。最早的限制是因为linux把所有的进程保存在指定的位置,好像是第几个页。所以有限制。