Fs.notify.max_user_watches को कैसे सेट करें और समझें


13

मैं स्थापित करने के लिए सबसे अच्छा तरीका समझ में नहीं आता fs.inotify.max_user_watchesके साथ sysctl। वास्तव में, मुझे इस बात की ज्यादा समझ नहीं है कि यहां इस तथ्य के अलावा क्या हो रहा है कि मुझे एक विशेष प्रक्रिया द्वारा देखी जा सकने वाली फ़ाइलों की संख्या निर्धारित करने की आवश्यकता है।

मुझे विश्वास है कि मैं इस कमांड को चलाकर अधिकतम उपयोगकर्ता देख सकता हूं:

cat /proc/sys/fs/inotify/max_user_watches

मेरी समझ यह है कि कुछ लोग एक संपादक /proc/sys/fs/inotify/max_user_watchesको खोलकर /etc/sysctl.confउसे इसमें जोड़ने का सुझाव देते हैं :

fs.inotify.max_user_watches=524288

फिर sudo sysctl -p- करने के लिए - संभवतः फ़ाइल में किए गए परिवर्तनों को संसाधित करें।

अन्य इस तरह से कमांड चलाने का सुझाव देते हैं:

sudo sysctl -w fs.inotify.max_user_instances=1024
sudo sysctl -w fs.inotify.max_user_watches=12288

मुझे पता है कि -wलिखने के लिए खड़ा है, लेकिन क्या लिखा जा रहा है और कहाँ है? क्या यह सिर्फ इतना है कि यह कमांड बदलता है /proc/.../max_user_watches?

ऊपर बताए गए दो दृष्टिकोणों में से कौन सा सबसे अच्छा है? मैं समझता हूँ कि 524288 और 12288 अलग नंबरों हैं, लेकिन मैं चलाने का प्रभाव के बीच का अंतर समझ में नहीं आता -pऔर -w

जवाबों:


10

sysctl -w/proc/sysनिम्न कुंजी के अंतर्गत कर्नेल पैरामीटर मान लिखते हैं :

sudo sysctl -w fs.inotify.max_user_watches=12288

को लिखता 12288है /proc/sys/fs/inotify/max_user_watches। (यह समतुल्य नहीं है, यह बिल्कुल ऐसा है; रुचि रखने वाले पाठक straceइसे अपने लिए देख सकते हैं।)

sysctl -p

फ़ाइल से सेटिंग लोड करता है, या तो /etc/sysctl.conf(डिफ़ॉल्ट), या बाद में जो भी फ़ाइल निर्दिष्ट की जाती है -p

दोनों दृष्टिकोणों के बीच का अंतर, उनके द्वारा लिखे गए मापदंडों और मूल्यों के विभिन्न स्रोतों से परे, यह है कि -wकेवल अगले रिबूट तक मापदंडों में परिवर्तन होता है, जबकि संग्रहीत किए गए मान /etc/sysctl.confहर बार सिस्टम बूट के दौरान फिर से लागू होंगे। मेरा सामान्य दृष्टिकोण -wमूल्यों का परीक्षण करने के लिए उपयोग करना है, फिर एक बार मुझे यकीन है कि नई सेटिंग्स ठीक हैं, उन्हें (आमतौर पर ) के /etc/sysctl.confतहत या एक फ़ाइल में लिखें ।/etc/sysctl.d/etc/sysctl.d/local.conf

विवरण के लिए मैनुअल sysctlऔर sysctl.confमैनुअल पेज ( man sysctlऔर man sysctl.confआपके सिस्टम पर) देखें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.