संपूर्ण सिस्टम प्रदर्शन को बढ़ाने के लिए रैम का पूरी तरह से उपयोग कैसे करें


18

मेरे पास एक लो प्रोफाइल मशीन है, लेकिन बहुत तेज रैम, 4 जीबी के साथ, जो वास्तव में स्मृति की एक मात्रा है जिसका मैं शायद कभी उपयोग नहीं करूंगा, यहां तक ​​कि एक आधा भी नहीं, क्योंकि मैं सिर्फ इस मशीन का उपयोग कोडिंग और वेब ब्राउज़िंग के लिए करता हूं।

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


1
कैशिंग के लिए पहले से ही मुफ्त रैम का उपयोग किया जाना चाहिए, जो कि डिफ़ॉल्ट व्यवहार है। हालांकि, डेटा को अभी भी अपेक्षाकृत धीमी गति से hdd पहले पढ़ा जाना चाहिए, और इसे तेज करने का एकमात्र तरीका तेज या एक sdd का उपयोग करना है। क्षमा करें, आज कोई जादू नहीं। पुनश्च: उबंटू ureadaheadबूट प्रक्रिया को प्रोफाइल करने और इसे यथासंभव तेज करने के लिए उपयोग करता है।
mikewhatever 15

2
इसके अलावा, 4GB एक आधुनिक मशीन पर ज्यादा नहीं है। आधुनिक वेब साइटें जटिल जावास्क्रिप्ट से भरी होती हैं और उन पर बहुत अधिक डेटा होता है, जिससे वेब ब्राउजर मेमोरी को जल्दी से उपभोग कर सकता है। मैं कई बार देखा है बस फ़ायरफ़ॉक्स कई जीबी के निवासी स्मृति उपयोग के लिए आ रहा है।
dobey

मेरे अनुभव जावास्क्रिप्ट में @dobey को RAM से अधिक CPU की आवश्यकता है।
15:17 पर user1717079

जवाबों:


11

आपको Preload स्थापित करना चाहिए जो आपके RAM में उपयोग किए जाने वाले सॉफ़्टवेयर को लोड करेगा (यह सीखेगा कि कौन सा सॉफ़्टवेयर अपने दम पर प्रीलोड करना है)। सेटअप करना बहुत आसान है:

sudo apt-get install preload

आपको शायद इसे छूने की आवश्यकता नहीं है, लेकिन यदि आप चाहें तो आप विकल्पों को संपादित कर सकते हैं /etc/preload.conf


मैं भी इस prelink उपयोगिता की मौजूदगी पर ध्यान दिया, मैं यह कोशिश करेंगे, धन्यवाद।
15:17 पर user1717079

2
@ user1717079 - ध्यान रखें कि प्रीलोड आपके बूट समय को गति नहीं देगा , और अधिकांश कैशिंग रैम में पहले से ही किया जाना चाहिए।
शौना

1
अधिभार न तो बूट और न ही कैशिंग प्रक्रियाओं को गति देगा, क्योंकि वे एचडीडी की गति पर बहुत अधिक निर्भर करते हैं।
mikewhatever

जब हम प्रीलिंक के विषय पर होते हैं, तो प्रीलिंकिंग किसी भी ध्यान देने योग्य प्रदर्शन को बढ़ावा नहीं देता है, smackerelofopinion.blogspot.co.uk/2009/06/…
कॉलिन इयान किंग

@ColinIanKing मुझे खुशी होगी अगर केवल यह मुझे प्रदर्शन के मामले में एक छोटा सा बढ़त दे सकता है, बूट समय उतना बुरा नहीं है, समस्या यह है कि आमतौर पर यह बहुत ही सुस्त है या एक नया कार्यक्रम लोड करने के लिए बस बहुत अधिक समय लगता है। मैं कुछ दिनों के लिए प्रीलोड और प्रीलिंक का उपयोग करने जा रहा हूं, चलो देखते हैं कि क्या चीजें बदल
जाएंगी

10

आप /etc/fstabअपनी /tmpनिर्देशिका को RAM में माउंट करने के लिए निम्न पंक्ति जोड़ सकते हैं ।

tmpfs / tmp tmpfs चूक, noatime, nodiratime, मोड = 1777 0 0

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

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

मेरे ज्ञान के अलावा इस विषय पर कई अन्य सहायक शोध उपलब्ध हैं। उदाहरण के लिए यह धागा


धन्यवाद, लेकिन एक रामदिस्क एक अलग बात है, लेकिन मैं आपके संकेत की सराहना करता हूं क्योंकि यह बाद में उपयोगी होगा। अभी मेरी बड़ी समस्या यह है कि मेरे एप्लिकेशन को तेज़ी से कैसे चलाया जाए, न कि कैसे मेरी फाइलसिस्टम को तेज़ बनाया जाए।
15:17 पर user1717079

हां, लेकिन मुझे यह ध्यान देने योग्य लगा, क्योंकि आपके पास 4GB RAM है और RAM फ़ोल्डरों का उपयोग करने से आपके ब्राउज़िंग अनुभव में सुधार होगा यदि आप कैश और सामान के लिए उनका उपयोग करने के लिए फ़ायरफ़ॉक्स को बताते हैं।
काऊन

6

RAM क्या है?

RAM, या रैंडम एक्सेस मेमोरी, एक प्रकार का स्टोरेज सिस्टम है जिसे वाष्पशील भंडारण के रूप में जाना जाता है । अर्थात्, यह केवल डेटा रखता है जबकि इसके पास शक्ति है। दूसरे शब्दों में, आपके द्वारा किए गए कोई भी परिवर्तन, यदि आप इसे लगातार स्टोरेज डिवाइस पर नहीं लिखते हैं, तो किसी भी समय रैम खो जाएगा।

हार्ड ड्राइव क्या है?

हार्ड ड्राइव, या डिस्क ड्राइव (या हार्ड डिस्क ड्राइव), एक अलग प्रकार का स्टोरेज सिस्टम है जिसे लगातार स्टोरेज कहा जाता है । इसका मतलब यह है कि डेटा बिजली से वंचित होने पर भी रहता है। सीडी, डीवीडी, फ्लॉपी डिस्क और यूएसबी थंब ड्राइव भी इस श्रेणी में आते हैं।

जब मैं बूट करता हूं, तो कैश करने के लिए लिखता हूं, या नए कार्यक्रम शुरू करता हूं?

रिबूट के बीच अपने सिस्टम को बनाए रखने के लिए, ओएस को यह लिखना पड़ता है कि रैम में लगातार स्टोरेज डिवाइस में क्या है, आमतौर पर प्राथमिक हार्ड ड्राइव। इसके विपरीत, उस जानकारी को पुनर्स्थापित करने के लिए, या अनुप्रयोगों को शुरू करने के लिए, उस डेटा को स्टोरेज डिवाइस से रैम में लोड करना होगा। यह लाइव सीडी के साथ भी होता है, भले ही सब कुछ स्मृति में चल रहा हो, इसे पहले सीडी (या यूएसबी ड्राइव) से सब कुछ पढ़ना होगा। यह टूल / आइडिया के साथ भी होता है। कॉउन और यूगो ने सुझाव दिया है, क्योंकि कुछ बिंदुओं पर या किसी अन्य पर, डेटा को डिस्क के साथ पढ़ने या लिखने के लिए बूट के बीच जारी रखने के लिए पढ़ना पड़ता है (विशेषकर प्रीलोड में बूट समय में सुधार नहीं होगा )।

यदि आपके पास तेज रैम है, तो आपकी अड़चन कहीं न कहीं पढ़ने / लिखने से लेकर डिस्क प्रक्रिया तक, आमतौर पर या तो डेटा कनेक्शन की गति या ड्राइव की गति में होगी।

इन ऑपरेशनों की गति में सुधार के लिए मैं क्या कर सकता हूं?

आपके तीनों वर्णित कार्यों की गति में सुधार करने के लिए, आपको कुछ हार्डवेयर अपग्रेड करने की आवश्यकता होगी।

तेज़ कनेक्शन प्राप्त करें। समानांतर ATA कनेक्शन (PATA, पुरानी मशीनों में ग्रे रिबन) SATA कनेक्शन (सीरियल ATA, नई, छोटी केबल) की तुलना में धीमा होने वाला है। यदि आप कर सकते हैं और पहले से ही नहीं है, तो SATA ड्राइव में अपग्रेड करें। यदि आप USB ड्राइव रूट (नीचे उल्लिखित) पर जाते हैं, तो सुनिश्चित करें कि आप USB 2.0 (या, इससे भी बेहतर, स्पीड-वार, 3.0) ड्राइव और पोर्ट का उपयोग कर रहे हैं । USB डिवाइस और पोर्ट धीमी चीज की गति को कम कर देंगे, इसलिए अगर आपके पास 3.0 पोर्ट है, तो डिवाइस 2.0 है, तो आपको केवल 2.0 स्पीड मिलेगी।

एक तेज़ स्टोरेज डिवाइस प्राप्त करें। थाली आधारित हार्ड ड्राइव को RPM में मापा जाता है, और आम तौर पर तीन गति में आते हैं - 5400 आरपीएम, 7200 आरपीएम, और 10k आरपीएम। यदि आपके पास 5400 आरपीएम ड्राइव है, तो कम से कम 7200 में अपग्रेड करें। इसके अलावा, सॉलिड स्टेट ड्राइव (यूएसबी थंब ड्राइव सहित) प्लेटफॉर्म-आधारित ड्राइव से तेज हैं। यदि आप इसे बर्दाश्त कर सकते हैं, तो एक ठोस राज्य ड्राइव में अपग्रेड करें। वैकल्पिक रूप से, आप एक यूएसबी ड्राइव पर उबंटू को स्थापित कर सकते हैं और इसे वहां से चला सकते हैं (हालांकि, ध्यान रखें कि ऐसा सेट अप आपके यूएसबी पोर्ट की गति तक सीमित होगा, इसलिए सुनिश्चित करें कि आप कम से कम यूएसबी 2.0 पोर्ट का उपयोग करें और चलाना)।


1

zram का प्रयास करें (जिसे एक बार compcache कहा जाता है), यह मेमोरी में एक संकुचित स्वैप है!

ubuntu 12.10 का पैकेज zram-config है, बूट करने की आवश्यकता नहीं है।

स्वैप -s कुछ ऐसा दिखाएगा:

Filename                                Type            Size    Used    Priority
/dev/sda2                               partition       1023860 0       -1
/dev/sdc4                               partition       976892  0       -2
/dev/zram0                              partition       761876  0       5
/dev/zram1                              partition       761876  0       5
/dev/zram2                              partition       761876  0       5
/dev/zram3                              partition       761876  0       5

मेरे पास ६ जीबी रैम और ४ कोर सीपीयू है, इसलिए प्रत्येक कोर के लिए एक स्वैप का उपयोग कुल में, राम के आधे हिस्से में किया जाता है! (एक अच्छे कारण के लिए)

पढ़िए क्या है पीपीसी कंपकंपी और ज़राम के बारे में!

ठीक है, अगर गैर ज़्राम का उपयोग किया जा रहा है, बूट करें या करने की कोशिश करें, IYKWYAD (यदि आप जानते हैं कि आप क्या कर रहे हैं), उन्हें स्वैप करें, ज़्राम को देखने के लिए भरे हुए और समग्र प्रदर्शन में सुधार करें।


btw, मेरे वर्तमान सेटअप में मेरे प्रत्येक zram स्वैप (प्रत्येक कोर के लिए) 250MB के साथ हैं, इसलिए 4 सेकंड के लिए कुल 1GB है। मैंने पाया कि मुझे अपनी कुल मेमोरी के आधे (3GB) का उपयोग करने की अनुमति देने से बेहतर काम करना है, मुझे लगता है कि यह इसलिए है क्योंकि यह हार्ड ड्राइव / ssd को कम स्वैप करेगा यदि मैं कुछ मेमोरी भूखे अनुप्रयोगों को वास्तविक मेमोरी का अधिक उपयोग करने की अनुमति देता हूं। मैं कई अन्य मेमोरी के भूखे ऐप्स भी बंद कर देता हूं, जिन्हें वास्तव में हर समय चलाने की आवश्यकता नहीं होती है।
कुंभ राशि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.