मैं ulimit का उपयोग कर सकता हूं लेकिन मुझे लगता है कि केवल मेरे शेल सत्र को प्रभावित करता है। मैं चाहता हूं कि सभी प्रक्रियाओं के लिए सीमा बढ़े। यह Red Hat पर है।
मैं ulimit का उपयोग कर सकता हूं लेकिन मुझे लगता है कि केवल मेरे शेल सत्र को प्रभावित करता है। मैं चाहता हूं कि सभी प्रक्रियाओं के लिए सीमा बढ़े। यह Red Hat पर है।
जवाबों:
जस्टिन जवाब आपको बताता है कि उपलब्ध खुली फ़ाइलों की संख्या को बढ़ाने के लिए कुल पूरी व्यवस्था करने के लिए। लेकिन मुझे लगता है कि आप विश्व स्तर पर प्रति-उपयोगकर्ता सीमा बढ़ाने के लिए कह रहे हैं। इसका उत्तर निम्नलिखित पंक्तियों को जोड़ना है /etc/security/limits.conf
:
* soft nofile 2048
* hard nofile 2048
(जहां * सभी उपयोगकर्ताओं का मतलब है।)
उस फ़ाइल में और उसके भीतर कुछ सारांश प्रलेखन है man limits.conf
। यह pam_limits.so
मॉड्यूल के माध्यम से कार्यान्वित किया जाता है जिसे कॉन्फ़िगर की गई विभिन्न सेवाओं के लिए कहा जाता है /etc/pam.d/
।
और, मुझे स्वीकार करना होगा, मुझे नहीं पता कि 1024 डिफ़ॉल्ट कहां से आता है। और मेरा विश्वास करो, मैंने देखा। मैंने pam_limits मॉड्यूल को कॉन्फ़िगर किए बिना भी कोशिश की, और यह अभी भी वहां है। यह कहीं न कहीं हार्ड-कोडेड होना चाहिए, लेकिन मुझे यकीन नहीं है कि कहाँ।
लेख लिनक्स के अनुसार ओपन फाइल / फाइल डिस्क्रिप्टर्स (एफडी) की अधिकतम संख्या बढ़ाएं , आप एक प्रविष्टि को जोड़कर खुली फाइलों की सीमा बढ़ा सकते हैं /etc/sysctl.conf
।
एक विन्यास निर्देश इस प्रकार है:
fs.file-max = 100000
फिर फ़ाइल को सहेजें और बंद करें। उपयोगकर्ताओं को प्रभावी होने के लिए लॉग आउट करने और फिर से लॉग इन करने की आवश्यकता है या वे केवल निम्न कमांड टाइप कर सकते हैं:
# sysctl -p
आप अपनी सेटिंग्स को कमांड से भी सत्यापित कर सकते हैं:
# cat /proc/sys/fs/file-max
लिनक्स में अधिकतम संख्या में उल्टी ओपन फ़ाइल बढ़ाएँ
1.Step: sysctl.conf
इस लाइन को खोलें और जोड़ें fs.file-max = 65536
$ vi /etc/sysctl.conf
नई लाइन जोड़ें और
fs.file-max = 65536
सुरषित और बहार।
2.Step:
$ vi /etc/security/limits.conf
और उल्लेख के नीचे जोड़ें
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
अधिकतम खुली फ़ाइल को सहेजें और बाहर निकलें ulimit
# ulimit -a
....
open files (-n) 65535
लेकिन अगर आप किसी सेवा की अधिकतम फ़ाइलों को बढ़ाने की कोशिश कर रहे हैं , जैसे कि MariaDB या कुछ और ( सिस्टमड का उपयोग करके ) तो आपको सीधे फ़ाइल .service में ही करना होगा।
/lib/systemd/system/<servicename>.service
कुछ इस तरह होगा:
[Unit]
Description=Some Daemon
After=syslog.target network.target
[Service]
Type=notify
LimitNOFILE=49152
ExecStart=/usr/sbin/somedaemon
[Install]
WantedBy=multi-user.target
पूरी तरह से उत्तर यहां है: CentOS 7 पर systemd द्वारा शुरू की गई प्रक्रियाओं के लिए बढ़ती nproc
systemd
लिनक्स इकोसिस्टम में इसके चल रहे बदलावों के साथ-साथ इसकी निरंतरता बढ़ रही है। हालाँकि, मैं cp -r /lib/systemd/system/mariadb.service /etc/systemd/system/
पैकेज द्वारा प्रदान की गई सिस्टम-वाइड सेवा फ़ाइल के बजाय, उस फ़ाइल के उत्तर को संपादित करने और उसमें बदलाव करने का सुझाव दूंगा ।
suplement:
आपको अलग-अलग जगह कॉन्फ़िगर मिल सकते हैं: /etc/security/limits.d/*.conf
मुझे इसे संशोधित करना था। इसके बिना काम नहीं किया। प्रारूप के लिए ही हैlimits.conf