N900 का अनुकूलन और त्वरण

संभवतः हर कोई जो सक्रिय रूप से N900 की सामना करने वाली स्थितियों का उपयोग करता है, जब नेटवर्क पर बड़ी फ़ाइलों की नकल करते समय सिस्टम धीमा होना शुरू हो जाता है, या जब एक सप्ताह के सक्रिय उपयोग के बाद, सिस्टम की सामान्य मंदी ध्यान देने योग्य होने लगी और शीर्ष / htop के माध्यम से अपराधी की पहचान करना संभव नहीं था। रिबूट द्वारा बचाओ। यह निश्चित रूप से कोई समस्या नहीं है, लेकिन एक तथ्य के रूप में यह बहुत अप्रिय है - लिनक्स-वे नहीं, जैसा कि यह था।



लेकिन, जैसा कि यह निकला, यह हल करने योग्य है। N8xx के दिन से लोग सक्रिय रूप से विभिन्न लिनक्स कर्नेल सेटिंग्स के साथ प्रयोग कर रहे हैं जो आपको मोबाइल उपकरणों पर ऐसी चीजों से छुटकारा पाने की अनुमति देगा, और इन सेटिंग्स को अनुभवजन्य रूप से व्युत्पन्न और परीक्षण किया जा रहा है, वास्तव में सिस्टम के व्यवहार पर बहुत सकारात्मक प्रभाव पड़ता है। इतनी अच्छी तरह से कि ट्रांसमिशन के साथ क्लाइंट भी बेहद संवेदनशील बना रहता है, जो कि हर्षोल्लास के साथ ट्रांसमिशन टोरेंट क्लाइंट है, पूरी गति से फाइलों को स्वीकार कर रहा है, और एक हफ्ते के बाद सिस्टम सुचारू रूप से काम करना जारी रखता है और यहां तक ​​कि 30 खुली ब्राउज़र विंडो के साथ, कार्यों का स्विचिंग दो के साथ होता है (जो नीचे वर्णित प्रणाली अनुकूलन की विधि तक मनाया नहीं जा सकता)। अब बात है।



जो पढ़ने और समझने के लिए बहुत आलसी है - रिपॉजिटरी (अब एक्स्ट्रा-टेस्टिंग ) से स्वेपोल्यूब प्रोग्राम (शाब्दिक रूप से) डालें , जीवन शुरू करें और आनंद लें। जो आलसी नहीं है - वही करें और पढ़ना जारी रखें। :)







यह प्रोग्राम स्थायी स्टोरेज की संभावना के साथ कर्नेल मापदंडों को बदलने के लिए सिर्फ एक GUI है। एक गैर-जीयूआई संस्करण भी है - स्वेपोल्यूब-नोगुई। यह प्रोग्राम किसी भी सिस्टम फाइल को नहीं बदलता है, कुछ भी अधिलेखित नहीं करता है - यह केवल आवश्यक मापदंडों को कर्नेल के माध्यम से / खरीद और बनाता है, यदि वांछित है, /etc/event.d में एक फाइल जो प्रत्येक बूट पर इन सेटिंग्स को लागू करेगा। किसी भी समय, परिवर्तनों को जीयूआई के माध्यम से या इस फाइल को मारकर या सिस्टम को रीबूट करके वापस लाया जा सकता है - लेकिन इसकी आवश्यकता नहीं है, बहुत से N900 उपयोगकर्ताओं ने पहले ही इसे स्थापित कर लिया है और मंचों पर चिकनी, गति में वृद्धि और शानदार शब्दों के साथ समीक्षा लिखने से नहीं थक रहे हैं।



तो ये पैरामीटर क्या हैं:

echo "30" > /proc/sys/vm/swappiness

echo "0" > /proc/sys/vm/page-cluster

echo "1" > /proc/sys/vm/laptop_mode

echo "1" > /proc/sys/vm/oom_kill_allocating_task

echo "0" > /proc/sys/vm/dirty_expire_centisecs

echo "0" > /proc/sys/vm/dirty_writeback_centisecs

echo "60" > /proc/sys/vm/dirty_background_ratio

echo "95" > /proc/sys/vm/dirty_ratio

echo "0" > /proc/sys/net/ipv4/tcp_timestamps

echo "1" > /proc/sys/net/ipv4/tcp_no_metrics_save








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



अगला, पृष्ठ-क्लस्टर - यह विकल्प स्मृति के पृष्ठों की संख्या को नियंत्रित करता है जो एक बार में स्वैप को लिखा जाएगा। मान "0" का अर्थ है 1 पृष्ठ, "1" - 2 पृष्ठ, 2 - 4 पृष्ठ, आदि। तेजी से। डिफ़ॉल्ट रूप से, मैमो "5" (32 पृष्ठ) पर सेट है। डेस्कटॉप सिस्टम पर इस मान को बढ़ाना बेहतर हो सकता है, लेकिन मोबाइल डिवाइस पर ऐसा एक रिकॉर्डिंग चक्र पहले से ही जवाबदेही में अधिक ध्यान देने योग्य मंदी देता है, और स्वेपिंस = 100 के साथ यह अपनी सभी सुंदरता में खुद को प्रकट करता है। हम "1" सेट करते हैं - इसे स्वैप में लंबे समय तक लिखे रहने दें, लेकिन उपयोगकर्ता के लिए अदृश्य रूप से और UI की प्रतिक्रिया को प्रभावित किए बिना।



तीसरा पैरामीटर, laptop_mode - यदि यह "0" पर सेट नहीं है, तो यह विलंबित लेखन को डिस्क पर सक्रिय करता है। इसके अलावा, यह काफी चालाक को सक्रिय करता है, सिस्टम की तथाकथित "अवधियों की गतिविधि" को अलग करने की कोशिश करता है ताकि डिस्क एक्सेस का कुशलता से उपयोग किया जा सके। मोटे तौर पर बोलें - अगर हमारे पास मेमोरी पेज हैं जो डिस्क (स्वैप या "गंदे" - अभी तक सिंक्रोनाइज़्ड डिस्क बफ़र्स) में फ़्लश होने का इंतज़ार कर रहे हैं, तब तक लेखन ऑपरेशन शुरू न करें जब तक कि डिस्क एक्सेस न हो जाए - यह आपको किसी भी तरह से "समूह" लिखने के संचालन की अनुमति देता है डिस्क, डिस्क एक्सेस की संख्या को कम करना, फ्लैश मेमोरी का जीवन बढ़ाना और बिजली की खपत को कम करना (जहां तक ​​मुझे पता है, मैं इस तथ्य को नहीं जानता हूं)।

चार और अधिक इस पैरामीटर से जुड़े हुए हैं:

गंदे_कपड़े_सेंटीक , गंदे_लेखक_सेंटीसेक , गंदे बफ़र्स के आस्थगित करने के लिए अलग पैरामीटर हैं। Laptop_mode में 0 पर सेट - laptop_mode अब बंद रखने का ध्यान रखता है (डिफ़ॉल्ट रूप से, 500 सेंटीसेकंड पर सेट)

dirty_background_ratio , dirty_ratio - स्मृति की न्यूनतम और अधिकतम मात्रा (कुल मेमोरी का प्रतिशत के रूप में) जो गंदे बफ़र्स को संग्रहीत करने के लिए आवंटित की जा सकती है। ये सेटिंग्स मेरे लिए थोड़ा अंधेरा स्थान हैं, लेकिन मेरा मानना ​​है कि यह शब्द मैमो समुदाय के लिए है। डिफ़ॉल्ट रूप से, 10 और 40 पर सेट है, लेकिन हम 60 और 95 सेट करते हैं।



इसके अलावा, oom_kill_allocating_task - "प्रक्रिया हत्यारा" के व्यवहार को बदलता है - OOM हत्यारा। आमतौर पर, जब पर्याप्त मेमोरी नहीं होती है (मुझे N900 पर कुछ भी कभी नहीं था, हालांकि), यह उन प्रक्रियाओं को मारता है जो पृष्ठभूमि में बैठे हैं और मेमोरी खा रहे हैं - और यह मूल रूप से कोई भी प्रक्रिया हो सकती है। यह विकल्प उसे ठीक उसी प्रक्रिया को मार देता है जो स्मृति प्राप्त करने की कोशिश कर रही है और स्मृति त्रुटि हो जाती है। यह समझ में आता है, लेकिन जाहिर तौर पर यह प्रणाली के समग्र प्रदर्शन को प्रभावित नहीं करता है, केवल महत्वपूर्ण स्थिति।



और अंतिम दो विकल्प टीसीपी / आईपी स्टैक से संबंधित हैं:

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

tcp_no_metrics_save - स्टैक को हाल के कनेक्शनों को कैश नहीं करने के लिए कहता है। 2 जी / 3 जी नेटवर्क के लिए उपयोगी हो सकता है।



संक्षेप में, कुछ इस तरह।

सामान्य तौर पर, सारांश यह है: पहले एनीमेशन की गति और यूआई प्रतिक्रिया द्वारा सिस्टम लोड की डिग्री को शांत करना संभव था, अब सिस्टम लगभग किसी भी लोड के तहत समान रूप से सुचारू रूप से व्यवहार करता है।



All Articles