मेरे पास लगभग समान स्पेक्स के साथ दो CentOS 5 सर्वर हैं। जब मैं लॉगिन और करता हूं ulimit -u
, तो एक मशीन मुझे मिलती है unlimited
, और दूसरी मुझे मिलती है 77824
।
जब मैं एक क्रोन चलाता हूं:
* * * * * ulimit -u > ulimit.txt
मुझे वही परिणाम ( unlimited
, 77824
) मिलते हैं ।
मैं यह निर्धारित करने की कोशिश कर रहा हूं कि ये कहां सेट हैं ताकि मैं उन्हें बदल सकूं। वे मेरे प्रोफाइल (में से किसी में सेट नहीं हैं .bashrc
, /etc/profile
, आदि)। ये क्रोन को वैसे भी प्रभावित नहीं करेंगे) और न ही /etc/security/limits.conf
(जो खाली है)।
मैंने Google को दस्त किया है और यहां तक कि ऐसा करने के लिए चला गया है grep -Ir 77824 /
, लेकिन अभी तक कुछ भी नहीं हुआ है। मुझे समझ में नहीं आ रहा है कि ये मशीनें विभिन्न सीमाओं के साथ कैसे पूर्व निर्धारित कर सकती हैं।
मैं वास्तव में इन मशीनों के लिए नहीं, बल्कि एक अलग (CentOS 6) मशीन के लिए सोच रहा हूं 1024
, जिसकी सीमा बहुत कम है। मुझे क्रोन जॉब्स को एक उच्च सीमा के साथ चलाने की आवश्यकता है और एकमात्र तरीका मुझे पता है कि कैसे सेट करना है जो क्रोन जॉब में ही है। यह ठीक है, लेकिन मैं इसे व्यापक रूप से सिस्टम सेट करूंगा ताकि यह हैकी न हो।
किसी भी मदद के लिए धन्यवाद। ऐसा लगता है कि यह आसान होना चाहिए (नहीं)।
EDIT - SOLVED
ठीक है, मुझे यह पता चला। यह या तो CentOS 6 या शायद मेरी मशीन कॉन्फ़िगरेशन के साथ एक समस्या है। CentOS 5 कॉन्फ़िगरेशन पर, मैं इसमें सेट कर सकता हूं /etc/security/limits.conf
:
* - nproc unlimited
और यह प्रभावी रूप से खातों और क्रोन सीमाओं को अद्यतन करेगा। हालाँकि, यह मेरे CentOS 6 बॉक्स में काम नहीं करता है। इसके बजाय, मुझे करना चाहिए:
myname1 - nproc unlimited
myname2 - nproc unlimited
...
और चीजें उम्मीद के मुताबिक काम करती हैं। शायद यूआईडी विनिर्देश काम करता है, लेकिन वाइल्डकार्ड (*) निश्चित रूप से यहां नहीं है। अजीब तरह से, वाइल्डकार्ड nofile
सीमा के लिए काम करते हैं ।
मुझे अभी भी यह जानना पसंद है कि डिफ़ॉल्ट मान वास्तव में कहां से आ रहे हैं, क्योंकि डिफ़ॉल्ट रूप से, यह फ़ाइल खाली है और मैं नहीं देख सका कि दो सेंटोस बॉक्स के लिए मेरे पास अलग-अलग चूक क्यों थीं, जिनमें समान हार्डवेयर थे और एक ही प्रदाता से थे ।
/etc/security/limits.d/
?