linux文件數限制
⑴ linux下一個目錄中最多可存放多少個文件數
512個是根目錄限制,其他目錄還是沒關系的。 ntfs和linux ext3應該都有限制, 這可能有硬碟技術決定,和分區性質無關
⑵ 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。
⑶ 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中的文件數目。但是系統性能會有點損失。
⑷ 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中的文件數目。但是系統性能會有點損失。
⑸ 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數。
⑹ linux打開文件數限制 多長時間
查看當前系統最大的文件打開數,如下圖
在linux終端中輸入ulimit -a
「open files」參數選項後面的數值就是當前系統支持的最大打開文件數
修改linux最大文件打開數
如果要修改linux最大文件打開數,可以通過如下圖參數命令 unlimit -n 後面接需要設置的文件數量。
設置好之後,再次查看 unlimit -a 你會發現已經設置為新的數量了
設置好之後,再次編輯修改重啟設置的服務,已經沒有剛剛那個1024文件數限制的報錯提示
其他修改方法
除此之外,如果針對不同的用戶。也可以通過編輯修改 /etc/rc.local文件設置環境變數,添加 unlimit -n
如下圖,重啟之後一般就自動設置好了
查看系統句柄文件數
當前系統文件句柄的最大數目,只用於查看,不能設置修改
cat /proc/sys/fs/file-max
6
查看進程打開文件數
如果需要查看所有進程的文件打開數,如下圖命令lsof |wc -l
⑺ linux主機 為什麼有文件數限制
1、創建文件系統時,會將存儲介質(磁碟)按照一定的比例,劃出一部分區域作為存儲文件名(目錄名)使用,每個文件(目錄)項在linux的ext文件系統中叫做一個inode,每個inode大小是固定的,劃出的inode區用完時,就不能再創建文件了,也就是到達了文件最大數目的限制。
其實由於存儲介質的容量都是有限的,所以所有的文件系統都有文件數量限制,但可以根據實際使用中大多數文件的大小及數量的具體需求,調整一個文件系統上的文件數限制。
2、另外,Linux主多用戶操作系統,為了均衡系統所有用戶的需求,對每個用戶使用的系統資源也有限制(參考/etc/security/limits.conf),其中就包括每個用戶同時打開的文件數、文件尺寸、cpu佔用時間、登錄數、內存使用限制等。