फिक्सिंग ulimit: खुली हुई फाइलें: सीमा को संशोधित नहीं कर सकती: ऑपरेशन की अनुमति नहीं है


13

मैंने इसे विभिन्न GNU / Linux संस्थापनों पर परखा:

perl -e 'while(1){open($a{$b++}, "<" ,"/dev/null") or die $b;print " $b"}'

सिस्टम ए और डी

मैंने जो पहली सीमा हिट की है, वह 1024 है। इसे आसानी से /etc/security/limits.conf में डालकर उठाया जाता है:

*                hard    nofile          1048576

और फिर चलाएं:

ulimit -n 1048576
echo 99999999 | sudo tee /proc/sys/fs/file-max

अब परीक्षण 1048576 पर जाता है।

हालाँकि, ऐसा लगता है कि मैं इसे 1048576 से ऊपर नहीं बढ़ा सकता हूँ। अगर मैंने 1048577 को सीमा में रखा है। तो बस इसे अनदेखा किया जाता है।

वह क्या कारण है?

सिस्टम बी

सिस्टम BI पर 1048576 भी नहीं मिल सकता है:

echo 99999999 | sudo tee /proc/sys/fs/file-max

/etc/security/limits.conf:

*                hard    nofile          1048576

यहाँ मुझे मिलता है:

$ ulimit -n 65537
bash: ulimit: open files: cannot modify limit: Operation not permitted
$ ulimit -n 65536
#OK

वह सीमा कहां से आई?

सिस्टम सी

इस प्रणाली में भी 1048576 सीमाएं हैं ।conf और 99999999 में / proc / sys / fs / file-max।

लेकिन यहाँ की सीमा 4096 है:

$ ulimit -n 4097
-bash: ulimit: open files: cannot modify limit: Operation not permitted
$ ulimit -n 4096
# OK

मैं इसे (कम से कम) 1048576 पर कैसे बढ़ाऊं?

(आत्म करने के लिए नोट: क्या ऐसा नहीं: echo 18446744073709551616 | sudo tee /proc/sys/fs/file-max)


1
मेरे पास एक ही मुद्दा है, सीमा 1048576 प्रतीत होती है। अगर मैं ऊपर जाता हूं तो मुझे निम्नलिखित त्रुटि मिलती है: bash: ulimit: खुली हुई फाइलें: सीमा को संशोधित नहीं कर सकता: ऑपरेशन की अनुमति नहीं है
Abbadon

नमस्ते, मैं एक बहुत ही इसी तरह की समस्या हो रही है। मुझे लगता है कि इन विभिन्न प्रणालियों के बारे में अधिक जानकारी प्रदान करने के लिए यह बहुत उपयोगी होगा।
Time4Tea

जवाबों:


4

जांच करें कि /etc/ssh/sshd_configइसमें शामिल हैं:

UsePAM=yes

और /etc/pam.d/sshdइसमें शामिल हैं:

session    required   pam_limits.so

फिर भी कोई जवाब नहीं कि 1048576 अधिकतम क्यों है।

1048576 प्रति प्रक्रिया लगती है। इसलिए कई प्रक्रियाएँ करके इस सीमा को पार किया जा सकता है।


4
यदि यह वास्तव में आपकी अपनी समस्या का समाधान था, तो मुझे लगता है कि समस्या और उपरोक्त समाधान के बीच एक संबंध बनाना अधिक अच्छा होगा।
जेफ स्कालर

2
पुन: 1048576 (= 2 ^ 10 * 2 ^ 10 = 1024 ^ 2, संदर्भ के लिए)। इस उत्तर में कुछ प्रासंगिक जानकारी यहाँ दी जा सकती है: stackoverflow.com/a/1213069/2320823
saladi

1
इसके साथ क्या करना ssh है?
लिनास

मैं @Linas से सहमत हूं। क्षमा करें, मुझे लगता है कि उत्तर और प्रश्न के बीच की कड़ी अस्पष्ट है।
Time4Tea
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.