नॉटिलस धीमा क्यों है?


19

मैं सोच रहा हूं कि बहुत सारी फाइलों वाली डायरेक्टरी खोलने पर नॉटिलस बहुत धीमा क्यों है। उदाहरण के लिए मेरे / usr / lib dir में 1900 फाइलें हैं और सब कुछ दिखाने में लगभग 5+ सेकंड लगते हैं। यह इस तरह से किया गया है क्योंकि मैंने कुछ महीने पहले उबंटू स्थापित किया था और यह कभी-कभी बहुत कष्टप्रद होता है। मेरे पास शक्तिशाली हार्डवेयर नहीं है, लेकिन मुझे पता है कि विंडोज एक्सप्लोरर इससे बहुत तेज है।

क्या ऐसा कुछ है जो इसे गति देने के लिए किया जा सकता है?

उबंटू 10.04


1
मेरा अनुमान है कि Nautilus अपनी सूची बनाने के लिए ls का उपयोग करता है जबकि एक्सप्लोरर में कैश है।
डिजिटएक्सपी

यह किस तरह की व्यवस्था है? मुझे लगता है कि यह एक बड़ा कारक है। यह मेरी नेटबुक पर "धीमा" होगा, लेकिन 4 के 1 जीबी के साथ i7 पर इतना नहीं।
क्रिस

उबंटू पूछने पर संबंधित: नॉटिलस बहुत धीमी है
slhck

जवाबों:


27

पता nautilusचलता है कि धीमापन दो कारकों के संयोजन के कारण होता है।

  • यह प्रत्येक फ़ाइल के बारे में उपयोगी जानकारी प्रदर्शित करने के बारे में स्मार्ट है। यह फाइलों की सामग्री के अंदर दिखता है कि यह निर्धारित करने के लिए कि किस आइकन का उपयोग करना है, और संभवतः एक पूर्वावलोकन दिखाना है। वरीयताओं में पूर्वावलोकन बंद करके इसे टोंड किया जा सकता है।

  • यह बहुत बेकार काम करता है (जैसे कि statप्रत्येक फ़ाइल कई बार आईएनजी, और /proc/filesystemsगैर-निर्देशिकाओं के लिए भी जाँच )। आप बस इतना कर सकते हैं कि प्रोग्रामिंग सीखें, कार्यक्रम में सुधार करें और एक पैच भेजें। या कम से कम लेखकों को एक सुविधा अनुरोध भेजें (कृपया इसे तेज़ करें)।

  • यह प्रत्येक निर्देशिका के लिए कई बाहरी प्रक्रियाओं को कॉल करता है, मैंने यह नहीं पता लगाया है कि वे क्या करते हैं।


अच्छा जवाब: डी! पैचिंग के लिए +1 + फिस्सुरेक्वेस्टरेक्स्ट: डी
ब्लडफिलिया

मैं एक प्रोग्रामर हूं, हालांकि योगदान देने के लिए अभी तक अच्छा नहीं है। जिज्ञासा से बाहर, आपने ट्रेस कैसे किया?
कोडिंग जिला

2
@ डेरेक: strace -f -ttt -p1234 -o nautilus.straceजहां 1234 में नौटिल्लस की पिड है। मैंने विस्तार से ट्रेस का विश्लेषण नहीं किया है, बस लीड अप (बहुत सारे सामान शामिल हैं) और प्रति-फ़ाइल सामान (कई statएस, और openकुछ फ़ाइलों के लिए) पर नज़र रखी ।
गिल्स एसओ- बुराई को रोकना '

1
कई स्टैब्लिश () लाइब्रेरी कॉल्स से आती हैं, कई ग्लिबेक से।
टिम पोस्ट

वाह, यह 6 वर्षों से एक मुद्दा रहा है! कैसे आया अभी भी किसी ने इसमें समय नहीं लगाया है? आरंभ करने के लिए, पूर्वावलोकन और आँकड़े फ़ाइलों को सूचीबद्ध करने के बाद किया जाना चाहिए। इस प्रकार, विशाल फ़ोल्डरों को सूचीबद्ध करना त्वरित lsहोगा और ब्राउज़िंग संभव होगी जबकि पूर्वावलोकन लोड किए जा रहे हैं। विंडोज एक्सप्लोरर इस तरह से काम करता है, अगर मुझे सही याद है। इस तरह के एक अत्यधिक उपयोग किए गए उबंटू कार्यक्रम के लिए अविश्वसनीय की तरह। हालाँकि, शिकायत नहीं करनी चाहिए बल्कि इसके बजाय योगदान करना चाहिए
phil294

5

"संपादित करें -> प्राथमिकताएं" के तहत "पूर्वावलोकन" टैब में, "कभी नहीं" के लिए सभी विकल्पों को स्विच करने का प्रयास करें।

इसने मुझे "सहायक टेक्नोलॉजीज" को बंद करने में बहुत मदद की। आप इसे "सिस्टम -> वरीयताएँ -> सहायक टेक्नोलॉजीज" में कर सकते हैं। "सहायक तकनीकों को सक्षम करें" को अनचेक करें।

प्रभावी होने के लिए आपको बाद के बदलाव के लिए लॉग आउट करना होगा।


यह मुझे बहुत मामूली सुधार देता है। बुकमार्क हटाने से बहुत बड़ा अंतर आया।
पीटर जेनकिंस

5

इसने मुझे एक बात की याद दिलाई जो मैंने अलेक्जेंडर लार्सन के साथ की थी , जो Nautilus के प्रमुख डेवलपर और GVFS सहित अन्य परियोजनाओं के लिए था।

जाइल्स ने अपने जवाब के बारे में नॉटिलस फ़ाइलों की सामग्री के अंदर देख विशेष रूप से बिट, प्रमुख कारण पर छूता है क्यों नॉटिलस "धीमी" है। हालांकि जाइल्स यह नहीं समझाते हैं कि यह धीमा क्यों है, जो कुछ के लिए स्पष्ट हो सकता है, लेकिन दूसरों के लिए नहीं। यहाँ एलेक्स का क्या कहना था:

कहते हैं कि आप एक खाली स्लेट के साथ शुरू करते हैं, यानी आपने फाइल सिस्टम को बिल्कुल एक्सेस नहीं किया है। अब कहते हैं कि आप स्टेट ("/ कुछ / dir / फ़ाइल") चलाते हैं। पहले कर्नेल को फ़ाइल ढूंढनी होती है, जिसे तकनीकी शब्दों में इनोड कहा जाता है। यह फाइलसिस्टम सुपरब्लॉक में देखकर शुरू होता है, जो रूट डायरेक्टरी के इनकोड को स्टोर करता है। फिर यह रूट डायरेक्टरी को खोलता है, "कुछ" पाता है, जो खोलता है, "dir" को ढूंढता है, आदि अंततः फाइल के लिए इनोड ढूंढता है।

फिर आपको वास्तव में इनोड डेटा पढ़ना होगा। पहले पढ़ने के बाद यह भी रैम में कैश किया जाता है। इसलिए, एक रीड को केवल एक बार ही होना है।

एक पुराने रिकॉर्ड प्लेयर की तरह HD के बारे में सोचो, एक बार जब आप सुई के साथ सही जगह पर होते हैं तो आप सामान को तेजी से पढ़ सकते हैं क्योंकि यह घूमता है। हालाँकि, एक बार जब आप एक अलग जगह पर जाना चाहते हैं, तो "मांग" कहा जाता है कि आप कुछ बहुत अलग कर रहे हैं। आपको हाथ को शारीरिक रूप से स्थानांतरित करने की आवश्यकता है, फिर जब तक सही जगह सुई के नीचे न हो, तब तक स्पिन करने के लिए प्रतीक्षा करें। इस तरह की शारीरिक गति स्वाभाविक रूप से धीमी होती है, इसलिए डिस्क के लिए समय बहुत अधिक होता है।

तो, हम कब चाहते हैं? यह निश्चित रूप से फाइलसिस्टम लेआउट पर निर्भर करता है। फाइलसिस्टम फाइल के प्रदर्शन को बढ़ाने के लिए लगातार फाइलों को स्टोर करने की कोशिश करते हैं, और वे आम तौर पर एक-दूसरे के पास एक निर्देशिका के लिए इनोड्स को स्टोर करने की कोशिश करते हैं, लेकिन यह सब उन चीजों पर निर्भर करता है जैसे फाइलें लिखी जाती हैं, फाइलसिस्टम का विखंडन, आदि। स्थिति, एक फ़ाइल के प्रत्येक स्टेटमेंट में एक सीक का कारण होगा और फिर फाइल के प्रत्येक ओपन में एक दूसरी खोज होगी। तो, यही कारण है कि चीजों को इतना लंबा समय लगता है जब कुछ भी कैश नहीं होता है।

कुछ फाइलसिस्टम दूसरों की तुलना में बेहतर हैं, डीफ़्रैग्मेन्टेशन मदद कर सकता है। आप ऐप्स में कुछ चीजें कर सकते हैं। उदाहरण के लिए, जीआईओ ने रीडिर () से प्राप्त इनोड्स को यह बताते हुए सॉर्ट किया कि यह उम्मीद है कि इनोड संख्या का डिस्क क्रम (यह आम तौर पर होता है) से किसी प्रकार का संबंध है और इस तरह से रैंडम सीक्स को आगे-पीछे करना कम करता है।

एक महत्वपूर्ण बात यह है कि मांग को कम करने के लिए अपने डेटा स्टोरेज और ऐप्स को डिज़ाइन करें। उदाहरण के लिए, यही कारण है कि Nautilus पढ़ने / usr / बिन धीमा है, क्योंकि वहाँ की फ़ाइलों में आम तौर पर कोई विस्तार नहीं होता है हमें प्रत्येक के लिए जादू सूँघने की आवश्यकता होती है। इसलिए, हमें प्रत्येक फ़ाइल => एक फ़ाइल प्रति तलाश => स्लोवू को खोलने की आवश्यकता है। एक और उदाहरण ऐसे ऐप हैं जो बहुत सारी छोटी फ़ाइलों में जानकारी संग्रहीत करते हैं, जैसे कि gconf करते थे, यह भी एक बुरा विचार है। वैसे भी, व्यवहार में मुझे नहीं लगता कि आप बहुत कुछ कर सकते हैं सिवाय विलंबता को छिपाने की कोशिश के।

उन्होंने निम्नलिखित नोट के साथ समाप्त किया:

इस पूरी दुविधा के लिए असली हल यह है कि मीडिया को घुमाने से दूर किया जाए। मैंने सुना है कि इंटेल एसएसडी भयानक हैं। लिनुस ने उन्हें शपथ दिलाई।

:-)


3
दिलचस्प :) हालांकि, अगर तलाश सुस्ती का मूल कारण है, तो मैं अभी भी सोच रहा हूं कि विंडोज एक्सप्लोरर इतनी तेजी से क्यों है? निश्चित रूप से हार्डवेयर के कारण नहीं।
कोडिंग जिला

4
अगर मुझे लगता था कि मैं कहूँगा कि यह जादू सूँघने का काम नहीं करता है, लेकिन बस विस्तार के आधार पर फ़ाइल का पता लगाता है (मैं इसे XP के लिए पुष्टि कर सकता हूं)।
ब्रूस वैन डेर कूइज

2
बिल्कुल सही। एक्सप्लोरर (अधिकांश भाग के लिए) किसी भी प्रकार की फ़ाइल को सूँघता नहीं है, यह बस एक्सटेंशन का उपयोग करता है। यदि इसे एक पूर्वावलोकन प्रस्तुत करना है या किसी आइकन को अच्छी तरह से पढ़ना है, तो उसे फ़ाइल को खोलना होगा। यदि आप .exe फ़ाइलों से भरा एक बड़ा फ़ोल्डर खोलते हैं, तो आप यह देख सकते हैं। एक शेल एक्सटेंशन एक्सप्लोरर को कुछ सूँघने के लिए भी फ़ाइल खोलने के लिए मजबूर कर सकता है। उदाहरण के लिए, कुछ संग्रह उपयोगिताएँ .exe फ़ाइलों की जांच करेंगी कि क्या वे SFX अभिलेखागार हैं। एमएस ने एक्सप्लोरर को गति देने के लिए वास्तविक गति और स्पष्ट गति दोनों में चीजों को करने में बहुत अधिक निवेश किया है।
21

3

मैंने आखिर यह पता लगा लिया कि क्या नॉटिलस इतना धीमा बना रहा है: बुकमार्क।

इसे ठीक करने के लिए अपने सभी बुकमार्क हटाएं, पुनरारंभ करें और फिर उन लोगों को वापस जोड़ें जिनके बिना आप नहीं रह सकते।

स्ट्रेस का उपयोग करने पर मुझे महसूस हुआ कि नॉटिलस हर दृश्य के लिए बहुत सारी फ़ाइलों को बता रहा था। यहां तक ​​कि फाइलें जो निर्देशिका में नहीं थीं, मैं ट्रेस के दौरान ब्राउज़ कर रहा था। मुझे लगता है कि नॉटिलस इन बुकमार्क्स को प्री-कैश करने की कोशिश कर रहा है।

मेरे पास एक बुकमार्क के रूप में एक नेटवर्क ड्राइव था ... यही कारण हो सकता है कि नॉटिलस को लोड करने में कई सेकंड लग रहे थे।


1

एक वैकल्पिक फ़ाइल प्रबंधक जैसे थूनर का उपयोग करने का प्रयास करें। थुनर निर्देशिका निर्देशिका लोड करने में बहुत तेज़ है और मेरी NTFS USB हार्ड ड्राइव से ext4 तक फ़ाइलों की प्रतिलिपि बनाने के लिए और अधिक स्थिर है, हालाँकि फ़ाइलों के बड़े सेट के साथ इसे Nautilus जैसी परेशानी होती है।

यहां स्विच स्क्रिप्ट https://help.ubuntu.com/community/DefaultFileManager का लिंक दिया गया है


बहुत बढ़िया! मुझे "sudo apt-get install थूनर" और "एक्सो-पसंदीदा-एप्लिकेशन" से प्यार है, फिर थनार इन (यूटिलिटीज> फाइल मैंगर) समाधान का चयन करें।
Doud

1

यदि आपके पास गनोम सिस्टम में xfce स्थापित है और आप इसका उपयोग कभी नहीं कर रहे हैं, तो एक्सो-बर्तनों को हटा दें

इसने मेरी समस्या को ठीक कर दिया, साथ ही क्रोम की समस्या है कि वे डाउनलोड करने के बाद फाइलों को सही तरीके से नहीं खोलते।


मेरे लिए मदद नहीं की। एक्सो-बर्तनों को xfdesktop4 पैकेज सहित बहुत सारे पैकेजों की भी आवश्यकता होती है, इसलिए इसे निकालना काफी कठिन होता है: sudo dpkg -r --ignore-dependes = xfce4-terminal, thunar-volman, निचोड़ना, thunar, xfce4-panel, xfce4-verve -प्लागिन, xfdesktop4 exo-utils
पीटर जेनकिन्स

1

"संपादित करें -> प्राथमिकताएं" के तहत "पूर्वावलोकन" टैब में, "कभी नहीं" के लिए सभी विकल्पों को स्विच करने का प्रयास करें।

इसने मुझे "सहायक टेक्नोलॉजीज" को बंद करने में बहुत मदद की। आप इसे "सिस्टम -> वरीयताएँ -> सहायक टेक्नोलॉजीज" में कर सकते हैं। "सहायक तकनीकों को सक्षम करें" को अनचेक करें।

प्रभावी होने के लिए आपको बाद के बदलाव के लिए लॉग आउट करना होगा।


1
एक बड़े फ़ोल्डर को खोलने में समय लगभग 30 सेकंड से दो सेकंड तक कम हो सकता है। सुखद दुख।
विस्मार्ट

मेरी पोस्ट को किसी अन्य उपयोगकर्ता द्वारा यहां हटा दिया गया था। जाहिरा तौर पर। अपने पद के लिए जे को धन्यवाद कहना चाहता था क्योंकि इसने मेरे नॉटियस धीमे मुद्दे के लिए एक बड़ा अंतर बनाया। असली हो, शांत हो।
विस्मार्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.