fs.file-max
के लिए, मुझे लगता है कि लगभग सभी मामलों में आप इसे अकेला छोड़ सकते हैं। यदि आप किसी प्रकार का बहुत व्यस्त सर्वर चला रहे हैं और वास्तव में फ़ाइल हैंडल से बाहर चल रहे हैं, तो आप इसे बढ़ा सकते हैं - लेकिन जिस मूल्य को आप इसे बढ़ाने के लिए आवश्यक हैं, वह इस बात पर निर्भर करेगा कि आप किस प्रकार का सर्वर चला रहे हैं और लोड क्या है उस पर है आम तौर पर आपको इसे तब तक बढ़ाने की आवश्यकता होगी जब तक कि आप फ़ाइल हैंडल से बाहर नहीं निकलते, या जब तक आपको एहसास न हो कि लोड को संभालने के लिए आपको अधिक मेमोरी या अधिक सिस्टम की आवश्यकता है। डिफ़ॉल्ट रूप से फ़ाइल-मैक्स को कम करके "ट्यूनिंग" चीजों से लाभ इतना कम है कि इसके बारे में सोचने योग्य नहीं है - मेरा फोन 83588 के एफएस-अधिकतम मूल्य के साथ ठीक काम करता है।
वैसे, आधुनिक कर्नेल सिस्टम में स्मृति की मात्रा के आधार पर पहले से ही फ़ाइल-अधिकतम सेट करने के लिए अंगूठे के नियम का उपयोग करता है; 2.6 कर्नेल में fs/file_table.c
से:
/*
* One file with associated inode and dcache is very roughly 1K.
* Per default don't use more than 10% of our memory for files.
*/
n = (mempages * (PAGE_SIZE/1024))/10;
files_stat.max_files = max_t(unsigned long, n, NR_FILE);
और files_stat.max_files
fs.file-max
की सेटिंग है; यह प्रत्येक 1 एमबी रैम के लिए लगभग 100 होने वाला होता है।
पाठ्यक्रम के उलझन उपयोगकर्ताओं या प्रक्रियाओं द्वारा आवंटित संसाधनों को सीमित करने के बारे में हैं। यदि आपके पास एकाधिक उपयोगकर्ता या ऐसी कोई अन्य स्थिति है, तो आप यह तय कर सकते हैं कि आप सिस्टम संसाधनों को विभाजित करना और मेमोरी उपयोग, प्रक्रियाओं की संख्या आदि को सीमित करना चाहते हैं। आप निर्धारित सीमाओं के विवरण के लिए निश्चित मार्गदर्शिका setrlimit man page (और निश्चित रूप से कर्नेल स्रोत)।
उल्लेख किया गया कि मुझे तकनीकी लेख की आवश्यकता है। – Kunthar