फाइल सिस्टम में अधिकतम कितनी फाइलें हो सकती हैं?


34

Ubuntu पर एक ext4 फ़ाइल सिस्टम पर एक निर्देशिका प्रविष्टि की वर्तमान संरचना को देखते हुए, फ़ाइल सिस्टम में अधिकतम कितनी फाइलें हो सकती हैं?

एक फाइल सिस्टम में कितनी फाइलें हो सकती हैं, इसकी गणना करने की सामान्य विधि क्या है?

जवाबों:


37

Ext4 में 4 बिलियन फ़ाइलों की एक सैद्धांतिक सीमा होती है, जो प्रत्येक फ़ाइल को पहचानने के लिए उपयोग किए जाने वाले इनकोड संख्या के आकार द्वारा प्रतिबंधित होती है (ext4 32-बिट इनोड संख्या का उपयोग करता है)। हालांकि, जैसा कि जॉन कहते हैं, ext4 सांख्यिकीय रूप से इनोड टेबल को आवंटित करता है, इसलिए वास्तविक सीमा तब सेट की जाती है जब फाइलसिस्टम बनाया जाता है।

Df कमांड आपको अपने फाइल सिस्टम पर फ्री इनकोड की एक संख्या दिखाता है:

$ df -i

Filesystem        iused     ifree  %iused  Mounted on
/dev/disk0s3   55253386  66810480    45%   /
/dev/disk1s3   55258045  66805821    45%   /Volumes/Clone

Ext4 भी प्रति निर्देशिका में असीमित संख्या में उप-निर्देशिकाओं का समर्थन करता है, हालांकि यह 64,000 की सीमा तक डिफ़ॉल्ट हो सकता है। यह विन्यास योग्य है - कर्नेल न्यूबॉब्स पर ext4 लेख देखें ।

अधिक जानकारी के लिए, नई एक्स्ट 4 फाइलसिस्टम देखें: 2007 लिनक्स संगोष्ठी से वर्तमान स्थिति और भविष्य की योजना


9

प्रति से एक नहीं है; निर्भर करता है। जब आप एक ext4 फाइल सिस्टम बनाते हैं, तो आप इनोड टेबल का आकार तय करते हैं , जो कुल निर्देशिकाओं की संख्या को नियंत्रित करता है या फाइल सिस्टम को एक ही बार में पकड़ सकता है।


8
आप चला सकते हैं tune2fs -l /path/to/deviceऔर Inode गिनती मूल्य के लिए देखो क्या सीमा एक दिया फाइल सिस्टम के लिए है लगता है

1
क्या हम आईनोड की गिनती बढ़ा सकते हैं? जहां तक ​​मुझे पता है, इनोड्स को एक लिंक्ड लिस्ट के रूप में स्टोर किया जाता है, इसलिए यह लिंक्ड लिस्ट में और नोड्स जोड़ने जैसा है। मुझे लगता है, यह सवाल उबलता है कि किसी लिंक की गई सूची की अधिकतम लंबाई क्या हो सकती है?

4
Ext4 में जब फाइल सिस्टम बनाया जाता है तो इनोड टेबल स्टेटिक रूप से आवंटित किया जाता है। इसे बढ़ाने का एकमात्र तरीका फाइलसिस्टम को फिर से बनाना है। -N या -i विकल्प का उपयोग निर्मित इनोड की संख्या निर्धारित करने के लिए किया जाता है।

1
यह भी ध्यान देने योग्य है कि निर्देशिका फाइलें हैं और उन्हें इस तरह से गिना जाना चाहिए।
dmckee

1
जैसा कि सहजीवन हैं। मुझे यकीन नहीं है कि डिवाइस, एफआईएफओ और सॉकेट्स की गिनती होती है या नहीं।
१२

1

उबंटू नहीं, लेकिन रेडहैट लिनक्स पर बेसिक कमांड जैसे कि 3 मिलियन फाइलों वाली डायरेक्टरी के खिलाफ चलने पर 'बहुत अधिक तर्क त्रुटि' के साथ विफल हो जाते हैं। यदि कोई पैरामीटर शामिल नहीं है, तो ls सफलतापूर्वक चलता है, लेकिन फ़िल्टर पैरामीटर के जुड़ते ही उसी त्रुटि के साथ विफल हो जाता है।

इस तरह के बुनियादी आदेशों की विश्वसनीयता को मानना ​​एक अनिवार्य आवश्यकता है, मैं सुझाव देता हूं कि 3 मिलियन फाइलें बहुत अधिक हैं।


3
हालांकि, यह एक फाइल सिस्टम प्रतिबंध नहीं है।
user9517

1
अच्छी बात! एफएस इसका समर्थन कर सकता है लेकिन इससे निपटने के लिए उपकरणों को अधिक से अधिक कठिनाई होगी।
सीसाबा तोथ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.