उबंटू डिफ़ॉल्ट रूप से क्यों नहीं TRIM SSDs करता है और कैसे खुद को सक्षम करें
Ubuntu 14.04 में डिफ़ॉल्ट रूप से SSDs के लिए TRIM को सक्षम करना चाहता है। दूसरे शब्दों में, Ubuntu पहले से ही TRIM का उपयोग नहीं कर रहा है, इसलिए आपका SSD समय के साथ धीमा हो रहा है। लेकिन Ubuntu पहले से ही TRIM का उपयोग क्यों नहीं कर रहा है?
यह खबर संभवतः कई लोगों के लिए एक आश्चर्य के रूप में आएगी, जिन्होंने माना कि उबंटू और अन्य लिनक्स वितरण पहले से ही टीआरआईएम का उपयोग कर रहे थे। TRIM समय के साथ SSDs को धीमा होने से रोकता है और SSD रखरखाव का एक आवश्यक हिस्सा है.
क्यों TRIM महत्वपूर्ण है
हमने कवर किया कि TRIM पहले क्यों महत्वपूर्ण है। जब आप किसी पुराने, चुंबकीय हार्ड ड्राइव पर एक फ़ाइल को हटाते हैं, तो कंप्यूटर बस उस फ़ाइल को हटाए गए के रूप में चिह्नित करता है। फ़ाइल का डेटा हार्ड ड्राइव पर इधर-उधर चिपक जाता है - इसीलिए हटाई गई फ़ाइलों को पुनर्प्राप्त किया जा सकता है। जब वह अपने डेटा को नए डेटा से अधिलेखित करता है, तो कंप्यूटर अंततः हटाए गए फ़ाइलों को अधिलेखित कर देगा.
सॉलिड-स्टेट ड्राइव (SSDs) अलग तरीके से काम करते हैं। जब भी आप एक SSD के लिए एक फाइल लिखते हैं, तो कंप्यूटर को सबसे पहले उन क्षेत्रों में किसी भी डेटा को मिटाना होगा जो वह डेटा लिख रहा है। यह केवल एक ऑपरेशन में सेक्टरों को "अधिलेखित" नहीं कर सकता है - इसे पहले उन्हें खाली करना होगा, फिर खाली क्षेत्रों को लिखना होगा.
इसका मतलब है कि एक एसएसडी समय के साथ धीमा हो जाएगा। SSD के क्षेत्रों में लिखना पहली बार त्वरित होगा। आपके द्वारा कुछ फ़ाइलों को हटाने के बाद और इसे फिर से लिखने का प्रयास करें, इसमें अधिक समय लगेगा। यह Google के मूल Nexus 7 के समय के साथ इतना धीमा हो जाने का एक बड़ा कारण है। Google ने Android 4.3 में TRIM को लागू करके इसे ठीक किया। (Android भी लिनक्स कर्नेल का उपयोग करता है।)
TRIM सक्षम होने के साथ, ऑपरेटिंग सिस्टम SSD को हर बार किसी फ़ाइल को हटाने के बारे में बताता है। ड्राइव तब फ़ाइल की सामग्री वाले क्षेत्रों को मिटा सकती है, इसलिए भविष्य में सेक्टरों को लिखना त्वरित होगा.
दूसरे शब्दों में, यदि आप TRIM का उपयोग नहीं करते हैं, तो आपका SSD समय के साथ धीमा हो जाएगा। यही कारण है कि विंडोज 7+, मैक ओएस एक्स 10.6.8+ और एंड्रॉइड 4.3+ सहित आधुनिक ऑपरेटिंग सिस्टम TRIM का उपयोग करते हैं। टीआरआईएम को दिसंबर 2008 में लिनक्स में लागू किया गया था, लेकिन उबंटू डिफ़ॉल्ट रूप से इसका उपयोग नहीं कर रहा है.
क्यों डिफ़ॉल्ट रूप से Ubuntu TRIM नहीं है?
वास्तविक कारण उबंटू डिफ़ॉल्ट रूप से TRIM SSDs नहीं है, क्योंकि लिनक्स कर्नेल का TRIM का कार्यान्वयन धीमा है और सामान्य उपयोग में खराब परिणाम है.
विंडोज 7 और 8 पर, विंडोज हर बार एक फ़ाइल हटाते समय TRIM कमांड भेजता है, जो ड्राइव को फ़ाइल के बिट्स को तुरंत हटाने के लिए कहता है। जब फाइल सिस्टम "त्याग" विकल्प के साथ आरोहित होता है तो लिनक्स इसका समर्थन करता है। हालाँकि, Ubuntu - और अन्य वितरण - प्रदर्शन कारणों से डिफ़ॉल्ट रूप से ऐसा नहीं करते हैं.
OpenSUSE के विकी में एक डेवलपर से कुछ विस्तृत जानकारी होती है, जो हमारे द्वारा लिनक्स कर्नेल से अधिक परिचित हैं। यह थोड़ा दिनांकित है, लेकिन जब यह प्रदर्शन की बात आती है, तब भी यह सच है:
“11.2, 11.3, और 11.4 में रियल टाइम ट्रिम का कर्नेल कार्यान्वयन अनुकूलित नहीं है। युक्ति। ट्रिम श्रेणियों की एक वेक्टर सूची का समर्थन करने वाले ट्रिम के लिए कॉल करता है, लेकिन कर्नेल के रूप में 3.0 ट्रिम केवल कर्नेल द्वारा एक ही त्याग / ट्रिम रेंज के साथ आह्वान किया जाता है और वर्तमान मध्य एसएसडी के साथ यह प्रदर्शन वृद्धि के बजाय प्रदर्शन में गिरावट का कारण साबित हुआ है। कर्नेल का उपयोग करने के कुछ कारण हैं, जो प्री-3.1 कर्नेल के साथ समर्थन को त्याग देते हैं। यह ज्ञात नहीं है कि गुठली कब छोड़ेगी कार्यक्षमता वर्तमान पीढ़ी के एसएसडी के साथ लाभप्रद रूप से काम करने के लिए अनुकूलित होगी। "[स्रोत]
दूसरे शब्दों में, लिनक्स कर्नेल इस तरह के रियल-टाइम TRIM कमांड को धीमे, अडिग तरीके से हैंडल करता है। टीआरआईएम को सक्षम करना विंडोज कैसे करता है - यानी, "त्यागें" विकल्प का उपयोग करना - सिस्टम में परिणाम वास्तव में धीमे हो रहे हैं यदि टीआरआईएम का उपयोग नहीं किया गया था। उबंटू और अन्य लिनक्स वितरण आपके फ़ाइल सिस्टम के लिए डिफ़ॉल्ट रूप से "त्याग" को सक्षम नहीं करते हैं, और आपको या तो नहीं करना चाहिए.
एक और तरीका है
क्योंकि लिनक्स कर्नेल का वास्तविक समय "त्याग" TRIM ऑपरेशन अच्छा प्रदर्शन नहीं करता है, अधिकांश लिनक्स वितरण - उबंटू सहित - स्वचालित रूप से TRIM का उपयोग नहीं करते हैं। Android 4.3 Android तक TRIM का उपयोग नहीं किया.
लेकिन TRIM का उपयोग करने का एक और तरीका है। हर बार फ़ाइल हटाए जाने के बाद केवल TRIM आदेश जारी करने के बजाय, FITRIM सुविधा का उपयोग किया जा सकता है। यह फ्रॉस्टिम कमांड के माध्यम से होता है। अनिवार्य रूप से, फ्रॉस्टिम कमांड फाइल सिस्टम का विश्लेषण करता है और ड्राइव को सूचित करता है कि किन ब्लॉकों की अब आवश्यकता नहीं है, इसलिए ड्राइव उन्हें त्याग सकती है। यह TRIM को वास्तविक समय के संचालन से एक निर्धारित कार्य में बदल देता है। दूसरे शब्दों में, फ्रॉस्टिम एक क्रॉन जॉब के रूप में टीआरआईएम का प्रदर्शन कर सकता है। ऐसा नहीं करने का कोई कारण नहीं है। यह कुछ भी धीमा नहीं करेगा; यह सिर्फ एक और घर का काम है जिसे सिस्टम को एक शेड्यूल पर करना है.
वास्तव में, यह वह तरीका है जो Google ने एंड्रॉइड 4.3 के साथ लिया था। एंड्रॉइड बस फ़ाइल सिस्टम को TRIM करने के लिए कभी-कभी एक भयावह कार्य चलाता है, उस समस्या को ठीक करता है जो उन सभी मूल नेक्सस 7 को धीमा कर देती है.
उबंटू भी सिस्टम को नियमित रूप से फ्रॉस्टिम चलाने से TRIM को स्वचालित रूप से सक्षम करने पर विचार कर रहा है। यह उम्मीद है कि उबंटू 14.04 का हिस्सा होगा, इसलिए उबंटू उपयोगकर्ताओं को एसएसडी के प्रदर्शन में गिरावट से निपटने या अपने दम पर रन बनाने के लिए मजबूर नहीं किया जाएगा।.
TRIM को कैसे इनेबल करें
हम आपके फ़ाइल सिस्टम को "त्याग" ऑपरेशन के साथ माउंट करने की अनुशंसा नहीं करते हैं, क्योंकि इससे सामान्य उपयोग में धीमी प्रदर्शन की संभावना होगी। हालाँकि, आप कभी-कभार फ़्रास्टिम कमांड चलाकर या अपने क्रोनजोब का निर्माण करके अपने आप को TRIM का उपयोग कर सकते हैं.
उबंटू पर अपने एसएसडी को ट्राइ करने के लिए, बस एक टर्मिनल खोलें और निम्न कमांड चलाएं:
सुडो फ्रस्ट्रिम -v /
एसएसडी पर प्रदर्शन में गिरावट को रोकने के लिए आप कभी-कभी उपरोक्त कमांड चला सकते हैं। आपको कितनी बार चलाने की आवश्यकता है यह इस बात पर निर्भर करता है कि आपके SSD से कितनी बार फाइलें निकाली गई हैं। यदि आप TRIM का समर्थन नहीं करने वाली ड्राइव के साथ कमांड चलाने का प्रयास करते हैं, तो आपको एक त्रुटि दिखाई देगी.
यदि आप नियमित रूप से टीआरआईएम चलाना चाहते हैं, तो आप बस एक क्रोनजॉब बना सकते हैं जो आपके लिए फ्रॉस्टिम कमांड चलाता है। यहां बताया गया है कि नंगे पैर क्रोन नौकरी कैसे करें जो यह स्वचालित रूप से करेगा.
सबसे पहले, रूट अनुमतियों के साथ नैनो टेक्स्ट एडिटर खोलने के लिए निम्नलिखित कमांड चलाएँ:
सुडो नैनो /etc/cron.daily/fstrim
फ़ाइल में निम्न कोड टाइप करें:
#! / Bin / श
फ्रस्ट्रिम /
Ctrl + O दबाकर फ़ाइल को सहेजें और पुष्टि करने के लिए Enter दबाएं। फ़ाइल को सहेजने के बाद नैनो को बंद करने के लिए Ctrl + X दबाएँ.
अंतिम, स्क्रिप्ट को निष्पादन योग्य बनाने के लिए निम्नलिखित कमांड चलाएँ:
सुडो चामोद + x /etc/cron.daily/fstrim
उबंटू अब एक शेड्यूल पर फ्रॉस्टिम चलाएगा, जैसा कि यह अन्य सिस्टम रखरखाव कार्यों को करता है.
ध्यान दें कि TRIM केवल आधुनिक फ़ाइल सिस्टम पर समर्थित है, इसलिए आपको ext4 या ext3 या ext2 जैसी किसी चीज़ की आवश्यकता होगी। यदि आप नहीं जानते कि आप किस फ़ाइल सिस्टम का उपयोग कर रहे हैं, तो चिंता न करें - ext4 डिफ़ॉल्ट रूप से चयनित है.
इस सलाह का अधिकांश अन्य लिनक्स वितरण पर भी लागू होता है। जबकि लिनक्स ने TRIM सपोर्ट को कर्नेल में बहुत पहले लागू किया था, लेकिन इसके TRIM समर्थन को लिनक्स में विशिष्ट उपयोगकर्ताओं के लिए डिफ़ॉल्ट रूप से कभी सक्षम नहीं किया गया लगता है.
छवि क्रेडिट: फ़्लिकर पर गदा ओजला (फसली)