歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> Linux文化 >> Linux一個文件夾中可以存放最多的文件數是多少?

Linux一個文件夾中可以存放最多的文件數是多少?

日期:2017/2/27 12:12:19   编辑: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把所有的進程保存在指定的位置,好像是第幾個頁。所以有限制。


Copyright © Linux教程網 All Rights Reserved