USB डिवाइसों से फ़ाइलों की प्रतिलिपि बनाते समय धीमा प्रदर्शन


11

जब मैं USB डिवाइस (कैमरा, HDD, मेमोरी कार्ड) से फाइल कॉपी करता हूं तो मेरा सिस्टम बहुत धीमा हो जाता है। उदाहरण के लिए यदि मैं एक विंडो बंद करना चाहता हूं तो मैं माउस को स्थानांतरित करता हूं लेकिन माउस कर्सर के चलने से पहले लगभग 2 सेकंड या उससे अधिक समय लगता है। जब मैं अंत में एक्स पर कर्सर लाता हूं और इसे क्लिक करता हूं तो 10+ सेकंड तक कुछ नहीं होता है। मैंने इसे सभी डेस्कटॉप प्रभावों के साथ अक्षम करने की कोशिश की है, लेकिन समस्या बनी हुई है।

सॉफ्टवेयर: लिनक्स मिंट 9 केडीई हार्डवेयर:

  • एसस SLI मदरबोर्ड
  • एनवीडिया 6600 जीपीयू
  • 2 जीबी राम
  • 2 जीबी स्वैप
  • AMD Athlox X2 @ 3800+

मेरे लिए इस हार्डवेयर में इस सॉफ़्टवेयर को चलाने में कोई समस्या नहीं होनी चाहिए और यह तब तक नहीं होती जब तक मैं USB का उपयोग करके फ़ाइलों की प्रतिलिपि नहीं बनाता। मुझे यह पता लगाने के लिए कहां से शुरू करना चाहिए? मुझे लगता है कि ग्राफिक्स ड्राइवर समस्या का हिस्सा हो सकता है, लेकिन मुझे यकीन नहीं है।


2
जाँच करें कि USB पोर्ट USB 2.0 सक्षम हैं। कुछ USB पोर्ट, विशेष रूप से डेस्कटॉप के मोर्चे पर केवल USB 1.0 हुआ करते थे। यह भी जांचें कि आपकी BIOS सेटिंग्स USB प्रदर्शन के लिए इष्टतम हैं। कुछ USB गति सेटिंग्स, और / या USB विरासत सेटिंग्स हो सकती हैं जो आपके प्रदर्शन को प्रभावित कर सकती हैं।
टिम कैनेडी

क्या डिवाइस को NTFS के रूप में स्वरूपित किया गया है? यदि यह है, तो मैं इसे FAT32 (या EXT4 के रूप में सुधारने की कोशिश करूँगा यदि आप इसे केवल लिनक्स पर उपयोग करने की योजना बना रहे हैं)।
रॉबिनजे

3
लगता है कि linux के मेमोरी मैनेजमेंट में बहुत सारे पेज हैं । यह शायद ही कभी होता है, लेकिन लगता है जैसे आपने इसे देखा है।
15

@ आर्टिस्टोसेक्स - यह लेख मेरे द्वारा अनुभव किए जा रहे व्यवहार को पूरी तरह से समाप्त कर देता है। बहुत बुरा है कोई ठोस तय नहीं है। किसी को पता है कि क्या यह बाद के संस्करणों में तय हो गया है? वैसे भी एक उन्नयन के लिए समय।
जॉन

जैसा कि लेख कहता है, अपने कर्नेल को पारदर्शी विशाल पृष्ठों की सुविधा से अक्षम करें।
आर्टिस्टोक्स

जवाबों:


7

लगता है कि linuxes स्मृति प्रबंधन में विशाल पृष्ठों के साथ एक समस्या है । यह शायद ही कभी होता है, लेकिन लगता है जैसे आपने इसे देखा है।

कारण

यह लेख के अनुसार, मेरा स्थूल सरलीकृत खाता है।

यदि अशुभ है, तो एक प्रक्रिया उस समय अटक जाती है जब यह मेमोरी एक्सेस जारी करता है। ऐसा इसलिए है क्योंकि जब पारदर्शी विशाल पृष्ठ सक्षम होते हैं, तो एक मेमोरी एक्सेस तुल्यकालिक संघनन (मुख्य मेमोरी का डीफ़्रैग्मेन्टेशन) को ट्रिगर कर सकती है, सिंक्रोनस का अर्थ है कि मेमोरी एक्सेस कंपैटिनेशन से पहले खत्म नहीं होता है। यह अपने आप में कोई बुरी बात नहीं है। लेकिन अगर एक ही समय में राइट-बैक (इन, उदाहरण के लिए, बफ़र्ड डेटा यूएसबी) होता है, तो बदले में कंपैशन स्टाल होने की संभावना है, राइट-बैक खत्म होने की प्रतीक्षा कर रहा है।

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

इलाज

मुख्य मेमोरी को अपग्रेड करना, जैसा कि ओपी ने किया, समस्या को दूर करने में मदद कर सकता है। लेकिन उन लोगों के लिए जो इस विकल्प पर विचार नहीं करते हैं, दो स्पष्ट वर्कअराउंड हैं। दोनों में कर्नेल को फिर से शामिल करना:

  • पारदर्शी विशाल पृष्ठों की सुविधा को अक्षम करना
  • लेख में वर्णित मेल के पैच को लागू करना

2

यह मेरे प्रश्न के समान है (जहाँ एक उत्तर ने मुझे इस प्रश्न की ओर संकेत किया):

/programming/10105203/how-can-i-limit-the-cache-used-by-copying-so-there-is-still-memory-available-for

लेकिन सिद्धांत पूरी तरह से अलग है, और मैंने जो समाधान इस्तेमाल किया है वह आपके लिए असंबंधित है, लेकिन पूरी तरह से काम करता है।

मैं rsync का उपयोग कर रहा था, इसलिए मुझे केवल इतना करना था - the-cache विकल्प का उपयोग करना। (जो साइड इफेक्ट के रूप में कॉपी को थोड़ा धीमा बनाता है)


0

एकमात्र चाल मैंने पाया कि वास्तव में काम करता है: Gnome, nautilus USB पर फ़ाइलों की प्रतिलिपि 100% या उसके पास बंद हो जाती है

यदि आप कुछ पॉवर-यूजर ट्रिक्स आज़माना चाहते हैं, तो आप उस बफर के आकार को कम कर सकते हैं, जिसे लिनक्स 15728640 (15 एमबी) जैसी चीज़ों की सेटिंग / सिकाई / एसआईएम / वीएम / डर्टी_बाइट्स द्वारा उपयोग करता है। इसका मतलब यह है कि आवेदन अपनी वास्तविक प्रगति के आगे 15MB से अधिक नहीं प्राप्त कर सकता है।

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

लेकिन, इसे बहुत छोटा न रखें! मैं एक मोटे अनुमान के रूप में 15 एमबी का उपयोग करता हूं कि कर्नेल बफर को एक दूसरे या 1/4 के सामान्य हार्ड ड्राइव में प्रवाहित कर सकता है। यह "लैगी" महसूस करने से मेरी प्रणाली को बनाए रखता है।

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