ऊपर दिए गए उत्तर बड़े काम आते हैं, लेकिन यह स्पष्ट नहीं करते हैं कि जो मैं यहां देख रहा था, वह एक पूर्ण उत्तर के लिए मेरा प्रयास था -
क्यों?
प्रोग्राम जो ड्रॉपबॉक्स, गिट आदि जैसी फाइलों को सिंक करते हैं, वे फाइल सिस्टम में बदलावों को नोटिस करने के लिए इनऑटीफाई करते हैं। सीमा को इसके द्वारा देखा जा सकता है -
cat /proc/sys/fs/inotify/max_user_watches
मेरे लिए, यह 100000 दिखाता है । जब यह सीमा एक निर्देशिका के अंदर सभी फ़ाइलों की निगरानी करने के लिए पर्याप्त नहीं है, तो यह इस त्रुटि को फेंकता है।
टॉटिफाई वॉचर्स (लघु संस्करण) की मात्रा में वृद्धि:
यदि आप डेबियन, रेडहैट या अन्य समान लिनक्स वितरण चला रहे हैं, तो टर्मिनल में निम्नलिखित को चलाएँ:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
यदि आप ArchLinux चला रहे हैं , तो इसके बजाय निम्नलिखित कमांड चलाएँ (यहाँ देखें क्यों):
echo fs.inotify.max_user_watches=524288 | sudo tee /etc/sysctl.d/40-max-user-watches.conf && sudo sysctl --system
फिर इसे अपने टर्मिनल में पेस्ट करें और इसे चलाने के लिए एंटर पर दबाएं।
तकनीकी जानकारी:
परिवर्तनों के लिए निर्देशिकाओं की निगरानी करने के लिए लिनक्स पर डिफ़ॉल्ट रूप से इनओटिफाई का उपयोग करें। आपके द्वारा मॉनिटर की जाने वाली फ़ाइलों की संख्या पर एक सिस्टम सीमा का सामना करना असामान्य नहीं है। उदाहरण के लिए, उबंटू ल्यूसिड (64 बिट) इनोटिफ़ाइड सीमा 8192 पर सेट है।
आप अपने मौजूदा inotify फ़ाइल वॉच सीमा को निष्पादित करके प्राप्त कर सकते हैं:
$ cat /proc/sys/fs/inotify/max_user_watches
जब यह सीमा किसी निर्देशिका के अंदर सभी फ़ाइलों की निगरानी करने के लिए पर्याप्त नहीं है, तो सुनो को ठीक से काम करने के लिए सीमा को बढ़ाया जाना चाहिए।
आप के साथ अस्थायी एक नई सीमा निर्धारित कर सकते हैं:
$ sudo sysctl fs.inotify.max_user_watches=524288
$ sudo sysctl -p
यदि आप अपनी सीमा को स्थायी बनाना चाहते हैं, तो उपयोग करें:
$ echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
$ sudo sysctl -p
यदि सुनने में शिकायत रहती है तो आपको अधिकतम_करहित_केव और अधिकतम_उपयोगकर्ता के मूल्यों पर भी ध्यान देने की आवश्यकता हो सकती है।
स्रोत: https://github.com/guard/listen/wiki/Inc बढ़ते-the-amount-of-inotify-watchers