2012-12-07 18 views
21

मेरे पास मेरी इनोटिफ़ी घड़ी सीमा 1024 पर सेट है (मुझे लगता है कि डिफ़ॉल्ट 128 है?)। इसके बावजूद, यमन, गार्ड और ड्रॉपबॉक्स लगातार असफल हो जाते हैं, और मुझे अपनी अंतर्निहित सीमा को बताते हैं। ऐसा करने से पहले, मैं जानना चाहता हूं कि मेरी सभी घड़ियों का क्या खपत है (मेरे ड्रॉपबॉक्स में बहुत कम फ़ाइलें हैं)।मैं कैसे पता लगा सकता हूं कि इनोटिफ़ाई घड़ियों को पंजीकृत किया गया है?

क्या वर्तमान में कौन सी घड़ियों पंजीकृत हैं, यह जानने के लिए/proc या/sys, या कुछ टूल मैं चला सकता हूं?

+0

डिफ़ॉल्ट 8192 है, और यहां तक ​​कि यह एक बेतुका कम संख्या है यदि आप इनोटिफ़ाई के साथ कुछ भी महत्वपूर्ण कर रहे हैं। आपको मूल्य को _raise_ करना चाहिए, और शायद काफी हद तक। मेरे सिस्टम पर, मैं जिस मान का उपयोग कर रहा हूं वह 131072 से 1048576 के बीच है ... –

+0

यह भी देखें: https://unix.stackexchange.com/q/386877/143394 –

उत्तर

4
  1. inotify घड़ियों की डिफ़ॉल्ट अधिकतम संख्या 8192 है; इसे /proc/sys/fs/inotify/max_user_watches पर लिखकर बढ़ाया जा सकता है।
    वर्तमान मूल्य की जांच के लिए आप sysctl fs.inotify.max_user_watches का उपयोग कर सकते हैं।

  2. tail -f का उपयोग यह सत्यापित करने के लिए करें कि आपका ओएस inotify अधिकतम घड़ी सीमा से अधिक है या नहीं।
    tail -f कमांड का आंतरिक कार्यान्वयन फ़ाइल परिवर्तनों की निगरानी के लिए inotify तंत्र का उपयोग करता है।

    tail: inotify cannot be used, reverting to polling: Too many open files

  3. पता लगाने के लिए inotify देखता है क्या पंजीकृत किया गया है, तो आप this, और this का उल्लेख कर सकते:
    आप अपने inotify घड़ियों की समाप्त हो चुकी है, तो आप इस त्रुटि प्राप्त करने के लिए सबसे अधिक संभावना कर देंगे। मैंने कोशिश की, लेकिन आदर्श परिणाम नहीं मिला। :-(

संदर्भ:
https://askubuntu.com/questions/154255/how-can-i-tell-if-i-am-out-of-inotify-watches
https://unix.stackexchange.com/questions/15509/whos-consuming-my-inotify-resources
https://bbs.archlinux.org/viewtopic.php?pid=1340049

3

मुझे लगता है कि

sudo ls -l /proc/*/fd/* | grep notify 

काम का हो सकता है आप पीआईडी ​​की है की एक सूची मिल जाएगा। एक inotify एफडी पंजीकृत।

मुझे नहीं पता कि इससे अधिक जानकारी कैसे प्राप्त करें! HTH

+0

क्या होगा यदि आप एक कार्य मशीन पर हैं और ' इन फ़ोल्डर्स तक पहुंच नहीं है –

14

inotify फाइल सिस्टम के विकल्प

sysctl fs.inotify

खोला फ़ाइलों

lsof | grep inotify | wc -l

इस

  • sysctl -n -w fs.inotify.max_user_watches=16384
  • की तरह मान बढ़ाएँ
  • sysctl -n -w fs.inotify.max_user_instances=512
1

निम्नलिखित टर्मिनल कमांड मेरी उबंटू 16 पर मेरे लिए पूरी तरह से काम किया।04 मशीन:

for foo in /proc/*/fd/*; do readlink -f $foo; done |grep inotify |cut -d/ -f3 |xargs -I '{}' -- ps --no-headers -o '%p %U %a' -p '{}' |uniq -c |sort -n

मेरे समस्या यह है कि मैं अपने HDD उदात्त पाठ में एक फ़ोल्डर के रूप में लोड का एक अच्छा बहुमत था। /opt/sublime_text/plugin_host 8992 और /opt/sublime_text/sublime_text के बीच, सब्लिमे के 18 उदाहरण थे, जबकि मेरे बाकी कार्यक्रम 1-3 के बीच थे।

चूंकि मैं आयनिक मोबाइल ऐप विकास कर रहा था, इसलिए मैंने शानदार Node.js फ़ोल्डर "node_modules" को सब्लिम सेटिंग्स में अनदेखा सूची में जोड़कर 5 की घटनाओं को कम कर दिया।

"folder_exclude_patterns": [".svn", ".git", ".hg", "CVS", "node_modules"]

स्रोत: https://github.com/SublimeTextIssues/Core/issues/1195

0

इस चूंकि गूगल परिणामों में उच्च है, मैं यूनिक्स/लिनक्स StackExchange पर पर एक समान प्रश्न से my answer की कॉपी-पेस्ट हिस्सा हूं:

मैं इस समस्या में भाग गया, और इनमें से कोई भी जवाब आपको जवाब नहीं देता है कि "घड़ियों क्या वर्तमान में प्रत्येक प्रक्रिया का उपयोग कर रहा है?" एक-लाइनर आपको सभी को उदाहरण खुले हैं, जो कहानी का केवल एक हिस्सा है, और ट्रेस सामान केवल नई घड़ियों को खोलने के लिए उपयोगी है।

यह आपको और खुले inotify की कई घटनाओं के देखता है वे है, पीआईडी ​​और बाइनरी है कि उन्हें पैदा की के साथ, घड़ी गिनती से घटते क्रम में क्रमबद्ध की संख्या के साथ एक फ़ाइल मिल जाएगा:

sudo lsof | awk '/anon_inode/ { gsub(/[urw]$/,"",$4); print "/proc/"$2"/fdinfo/"$4; }' | while read fdi; do count=$(sudo grep -c inotify $fdi); exe=$(sudo readlink $(dirname $(dirname $fdi))/exe); echo -e $count"\t"$fdi"\t"$exe; done | sort -nr > watches 

यदि आप गड़बड़ी की उस बड़ी गेंद में अंतर रखते हैं और क्यों, मैंने the original answer पर गहराई से समझाया।

संबंधित मुद्दे

 संबंधित मुद्दे