एक SSD के साथ, क्या मुझे SSD जीवन को बढ़ाने के लिए अपने स्वपन को बदलने की आवश्यकता है?


35

मुझे इस लेख का सामना करना पड़ा जिसमें निम्नलिखित सुझाव शामिल हैं:

स्वैप और स्वप्नदोष

मैंने पुराने एचडीडी पर अपना स्वैप विभाजन रखा। SSD पर स्वैप तेज़ होगा, लेकिन SSD के जीवन को छोटा भी करेगा।

मेरे सिस्टम में बहुत मेमोरी है, इसलिए मैंने उबंटू को केवल स्वैप करने के लिए स्वैप की वैल्यू को घटाकर 0 कर दिया। मैंने लाइन vm.swappiness = 0 से /etc/sysctl.conf को जोड़कर ऐसा किया।

क्या यह सच है कि शून्य पर स्वपन स्थापित करने से मेरे SSD का जीवन बढ़ जाएगा? मुझे इस के संदर्भ कहीं और नहीं मिलेंगे।

जवाबों:


30

स्वैग को 0 पर कम करने का मतलब है कि ओएस केवल स्वैप के लिए एसएसडी का उपयोग करना शुरू कर देगा जब कोई और अधिक मुफ्त रैम उपलब्ध नहीं होगा।

सैद्धांतिक रूप से यह SSD के जीवनकाल को बढ़ा सकता है क्योंकि SSD कम लिखता है। यह निर्भर करता है कि क्या यह व्यावहारिक रूप से SSD के जीवनकाल को बढ़ाता है:

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

  • एक साधारण उपभोक्ता उपयोग के लिए SSD का लेखन धीरज अभी भी बहुत अधिक है, कम से कम MLC आधारित SSDs के लिए। उनका कहना है कि मौजूदा एमएलसी एसएसडी आधारित सीए को बर्दाश्त कर सकते हैं। 3000-5000 चक्र लिखने से पहले वे बाहर पहना। 3000 सीमा के साथ गणना करने का मतलब है कि दैनिक 10 जीबी के साथ 128 जीबी एसएसडी सीए के लिए खुशी से काम करेगा। 38000 दिन, अर्थात सीए। 100 साल। यदि आपके पास निश्चित रूप से एक बड़ा एसएसडी है जो बहुत बाद में खराब हो जाएगा। तो यह बहुत संभावना नहीं है कि आपके एसएसडी कोशिकाओं के बाहर पहनने के कारण मर जाएंगे। (बेशक अगर आप कॉर्पोरेट / सर्वर वातावरण में अपने एसएसडी का उपयोग करते हैं तो दैनिक लेखन बहुत अधिक होता है, लेकिन कॉर्पोरेट वातावरण में आमतौर पर एसएलसी आधारित एसएसडी का उपयोग किया जाता है।)

  • यह लेखन चक्र की सीमा इतनी अधिक है कि एसएसडी निर्माताओं (पहले सैमसंग पर) ने उपभोक्ताओं के लिए टीएलसी आधारित एसएसडी का निर्माण शुरू किया , जो केवल सीए को सहन कर सकता है। 1000 साइकिल लिखते हैं, लेकिन सस्ते हैं। इन कंपनियों का कहना है कि यहां तक ​​कि एसएसडी की लेखन चक्र की सीमा उस समय तक चलेगी जब उत्पाद का उपयोग किए जाने की उम्मीद है। (यह संभावना नहीं है कि 2024 में हम अभी भी अपने 128 जीबी एसएसडी का उपयोग कर रहे हैं) हालांकि यदि आपके पास एक टीएलसी आधारित एसएसडी है और आप उस ड्राइव पर अक्सर लिखते हैं, जैसे कि 50 जीबी / दिन, स्वप्नदोष कम होने की तुलना में महत्वपूर्ण प्रभाव पड़ेगा। अपने SSD के जीवन काल पर।
  • यहां एक विशाल धागा है जहां उत्साही लोगों ने लगातार उन्हें लिखकर एसएसडी के धीरज का परीक्षण किया। यद्यपि उनकी परीक्षण विधि शायद पूरी तरह से सही नहीं है, लेकिन उनके परिणाम काफी प्रभावशाली और सुखदायक हैं।

तो संक्षेप में: सिद्धांत हाँ में, स्वपन घटने से परिणाम होगा SSD जीवनकाल, व्यवहार में यह संभव नहीं होगा। लेकिन अगर आपके पास एक TLC आधारित SSD है और आप RAM पर कम हैं और आप आम तौर पर SSD पर अक्सर लिखते हैं तो यह व्यावहारिक रूप से भी हो सकता है।

मेरे पास MLC आधारित है, 128 GB SSD है और मैं ज्यादातर अपने सिस्टम का उपयोग ऑफिस / ब्राउजिंग के लिए करता हूं और मेरे RAM उपयोग की तुलना में मेरे पास बहुत सारे RAM हैं इसलिए मेरा SSD भारी लेखन भार के अधीन नहीं है (हालाँकि मेरी मशीन 24/7 पर है)। लेकिन क्योंकि मुझे स्वैपिंग की बिल्कुल भी ज़रूरत नहीं है और जब मैंने अपने SSDs को स्थापित किया, तो मैंने अपने लिए जो स्वैग सेट किया था, उसे कम करने के लिए इतना आसान नहीं है। ऐसा क्यों नहीं किया? (वास्तव में मैंने अपनी सभी मशीनों पर 0 पर भी स्वैग सेट किया है, यहां तक ​​कि उन मशीनों पर भी जिनके पास केवल एचडीडी है।)

आप यह जांच सकते हैं कि आपके SSD ने जीवन के दौरान कितना लेखन झेला है , इसके smartctlसाथ लाइन की तलाश करें Total_LBAs_Written, यह आपको दिखाएगा कि SSD को 512b सेक्टर कितना लिखा गया है। (हां मुझे पता है कि SSDs में शारीरिक रूप से 4K ब्लॉक होते हैं, 512b नहीं, लेकिन SMART अभी भी कहते हैं: Sector Size: 512 bytes logical/physicalऔर 512 ब्लॉकों के साथ मुझे ऐसे परिणाम मिलते हैं जो tune2fs -lलाइफटाइम आउटपुट के लिए तुलनीय होते हैं।) तो एकाधिक संख्या 512 के साथ और आपको बाइट में राइट्स मिलते हैं। , या संक्षेप में:

sudo smartctl -a /dev/sda | grep Total_LBAs_Written | awk '{print $10*512/1024/1024/1024 " GiB"}'

GiBs में / dev / sda के लिए प्रिंट करेगा। (बस डिवाइस का नाम अपने SSD के नाम में बदल दें।) मेरे 128 GB SSD को सीए का सामना करना पड़ा है। 800 जीबी एक साल में थोड़ा अधिक लिखते हैं, इसका मतलब है कि 3000 में से केवल 7 लेखन चक्र का उपयोग किया जाता है।


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

इस उत्तर से लगता है कि "स्वप्नदोष" 0 से 100 तक शून्य अर्थिंग स्वैपिंग के साथ होता है (और 100 का अर्थ रैम नहीं है।)। लेकिन, मूल्य के बारे में एक और जवाब आगे विस्तार में जाता है swappiness, यह दर्शाता है कि संख्या 0 से 200 तक होती है और विभिन्न प्रकार के स्वैपिंग की ओर एक सापेक्ष वजन का प्रतिनिधित्व करती है।
palswim

7

यह सब SSDs पहनने के बारे में बात "अनुमान" है। मेरी भी यही भावनाएं थीं, लेकिन मैंने व्यावसायिक रूप से उनका उपयोग करना शुरू कर दिया। मेरे पास पूर्वी तट पर सबसे तेज आभूषण समूहों में से एक है। 3 साल पहले हमने अपने पूरे भंडारण और अस्थायी फाइल सिस्टम के लिए SSDs की स्थापना की थी। हम SSDs को अरबों के लेखन कार्य / दिन करते हैं। 3 साल बाद भी हम 10% बर्नआउट के आसपास कहीं नहीं आए हैं। अगर मैं ऐसा कर सकता हूं तो वे आवासीय स्थिति में कभी भी बाहर नहीं निकलेंगे। सो-- मैंने विशेष रूप से अपने लिनक्स वर्कस्टेशन और बीएएम पर स्वैप स्पेस के लिए एक एसएसडी समाधान लागू किया है !!!

तो, आपका माइलेज मेरे अलग-अलग है लेकिन एसएसडी हर तरह से जाने का रास्ता है।

डेव


सर्वरों के लिए एसएसडी का मतलब उपभोक्ताओं के लिए (सस्ते) लोगों की तुलना में अधिक लिखना हो सकता है।
जारो

1
समझ में आया, लेकिन मेरे पास उपभोक्ता SSDs हैं जो वर्कस्टेशन्स में स्थापित हैं जो पूरे उद्यम में 24x7 चलाए जाते हैं और हम हर दो दिनों में डेल्टास का बैकअप लेते हैं लेकिन 2 साल में एक भी विफलता नहीं हुई है। ध्यान रखें कि एक शारीरिक कताई थाली के लिए MTBF 3 साल है और 25+ वर्षों के लिए बेचने / सर्विसिंग सिस्टम के मेरे अनुभव में, यह बहुत सटीक है। एसएसडी अन्य सभी विकल्पों, वाणिज्यिक या उपभोक्ता से बेहतर प्रदर्शन करते हैं।
TekOps

3

जी हां । SSD जीवन को बढ़ाने के लिए आपको स्वैग बदलने की आवश्यकता है।

Swappiness आपको नियंत्रित करता है कि स्वैप फ़ाइल का कितना उपयोग किया जा रहा है। स्वैपीनेस मानों को 0 से 100 में बदला जा सकता है। उच्च स्वैग्‍नेस मानों को जितना अधिक कर्नेल स्वैप स्थान का उपयोग करने का प्रयास करेगा, कम स्वैच्छिकता मानों का अर्थ है कि कर्नेल हमारी सेटिंग के आधार पर कम या कोई स्वैप स्थान का उपयोग करेगा।

डिफ़ॉल्ट स्वैच्छिकता मान 60 से है, यदि आपके पास बहुत अधिक रैम है, तो आपको स्वैप स्थान का उपयोग करने से बचना चाहिए जो आपके एसएसडी को लिखता है और पढ़ता है, लेकिन एक एचडीडी को। 4 जीबी या अधिक रैम वाले सिस्टम के लिए, स्वैप की सेटिंग को 10 से 0 के बीच बदलकर स्वैप का उपयोग कम करने की कोशिश करें, साथ ही स्वैप फाइल एचडीडी पर हो।

स्वैप स्पेस चलाना I / O इंटेंसिटी का बहुत डिस्क है, और यह वास्तव में SSD के लिए बुरा है। एक SSD केवल इतना लिखता है कि इससे पहले कि यह खराब हो जाए और आप दूसरी ड्राइव खरीदने के लिए मजबूर हो जाएं। इसलिए, यदि संभव हो तो, अपने स्वैप स्थान को एक माध्यमिक, कताई ड्राइव ... एसएसडी से दूर ले जाएं।

एक सॉलिड स्टेट ड्राइव लिखने की क्रिया द्वारा अपेक्षाकृत जल्दी से नीचे पहना जाता है। विशेष रूप से SSD की सबसे पुरानी पीढ़ी उस पहलू में कमजोर थी, लेकिन कुछ हद तक अभी भी नई पीढ़ियों के लिए यही स्थिति है।

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

यदि आपके पास स्थानांतरित करने के लिए एक वैकल्पिक ड्राइव नहीं है, तो आप एक सेटिंग को बदल सकते हैं जो केवल स्वैप को सक्षम करेगा जब आपका भौतिक रैम 100% पूर्ण होगा, जो आपके स्वैपफाइल पर लोड को कम करेगा, और आपके एसएसडी को मदद करेगा। बस प्रेस Ctrl+ Alt+ Tखुला टर्मिनल के लिए अपने कीबोर्ड पर। जब यह खुलता है, तो नीचे कमांड चलाएँ:

echo 0 > /proc/sys/vm/swappiness

SSD पहनने और आंसू लिखने के चक्र के साथ क्या करना है

एक सॉलिड स्टेट ड्राइव लिखने की क्रिया द्वारा अपेक्षाकृत जल्दी से नीचे पहना जाता है। विशेष रूप से SSD की सबसे पुरानी पीढ़ी उस पहलू में कमजोर थी, लेकिन कुछ हद तक अभी भी नई पीढ़ियों के लिए यही स्थिति है।

ट्रिम का उपयोग करें

TRIM एक ऐसा लाभ है जिसका उपयोग आप SSDs के साथ करते हैं। यह सॉफ्टवेयर में चलता है और SSD कंट्रोलर के साथ संवाद करता है, यह बताता है कि कौन से 'ब्लॉक' अब फाइलसिस्टम की जरूरत नहीं है और इसे सुरक्षित रूप से साफ और ओवरराइट किया जा सकता है। यह वास्तव में प्रदर्शन में सुधार का परिणाम नहीं होगा, बल्कि आपके SSD के जीवन को लंबा कर देगा।

स्रोत: अपने SSD को अनुकूलित करने के लिए Linux SSD Tweaks और कैसे


मैं जानना चाहूंगा कि क्या गलत है? ओपी ने पूछा कि क्या उन्हें एसएसडी जीवन को बढ़ाने के लिए अपने स्वैग को बदलने की जरूरत है, और इसका जवाब है कि उन्हें स्वपन बदलने की जरूरत है।
मिच

मैं समझता हूं कि उबंटू के नवीनतम संस्करण स्वचालित रूप से SSDs के लिए TRIM का उपयोग करते हैं।
धान लांडौ

नवीनतम Ubuntu केवल SSD के कुछ मॉडलों के लिए TRIM का उपयोग करता है। @ गोपी लांडौ
ब्रायस

2

क्या यह सच है कि शून्य पर स्वपन स्थापित करने से मेरे SSD का जीवन बढ़ जाएगा?

यह कारण होगा कि लिनक्स स्वैप ब्लॉक को कम बार ब्लॉक करता है। यदि स्वैप आपके SSD में है, तो सामान्य रूप से स्वैप को लिखने से साइकिल का उपयोग होता है। याद रखें कि स्वैप का उपयोग केवल जरूरत के समय किया जाता है और यदि आपके पास पर्याप्त रैम है तो आप इसके बिना बेहतर हो सकते हैं (जब तक कि आप हाइबरनेशन नहीं चाहते हैं, लेकिन यह एक और मुद्दा है)।

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

यदि आप अपने SSD लिखने के बारे में चिंतित हैं तो स्वैप के लिए उपयोग किए जाने वाले चक्रों को आप स्वैप को पूरी तरह से हटा सकते हैं / निष्क्रिय कर सकते हैं यदि आपके पास पर्याप्त रैम है और केवल स्वैप के साथ गड़बड़ करने के बजाय एक HDD में एक अस्थायी स्वैप सक्रिय करें। यह सबसे अच्छा मार्ग होगा।


0

मैं आपको उच्च मूल्य की सेटिंग को कम मूल्य पर बदलने के लिए उच्च अनुशंसा करूंगा, सबसे अच्छा "0" है यदि आपके पास आपके सिस्टम के लिए पर्याप्त मेमोरी / रैम 4 जीबी रैम या अधिक है। हालांकि उच्च राम प्रणाली के साथ 10 पर स्वैग्मेंटेशन, मैं मुश्किल से ubuntu स्वैप विभाजन पर कुछ भी डाल देखता हूं क्योंकि ज्यादातर सब कुछ पहले से ही राम पर है।

मैंने थोड़ी सी Google खोज की और मुझे यह पृष्ठ http://namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html मिल गया।

अपने Ubuntu सिस्टम को अधिक कुशलता से चलाने और अपने ssd को अधिक समय तक जीवित रखने के लिए SSD को ट्वीक और ऑप्टिमाइज़ करने में आपकी मदद कर सकता है


0

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


0

मुझे smartctlआउटपुट की जांच करने का विचार पसंद आया , हालाँकि, मेरा कोड थोड़ा अधिक कॉम्पैक्ट है। मुझे कभी समझ में नहीं आया कि लोग सिर्फ यह नहीं जानते हैं कि awkइसमें कितनी grepक्षमता है।

sudo smartctl -a /dev/sdb | awk ' ($0 ~ /Total_LBAs_Written/) {print ($10*512)/(1024^3) " GiB"}'

हालांकि यह मेरे द्वारा उपयोग किया जाने वाला कोड है:

sudo smartctl -a ${device} | awk ' ($0 ~ /Total_LBAs_Written/) { if (($10*512)/(1024^3) > 1000) { msg="TiB"; size=($10*512)/(1024^4); } else { msg="GiB"; size=($10*512)/(1024^3); }; printf "\nThis device has had %.2
f %s written to it.\n",size,msg; }'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.