उबंटू डिफ़ॉल्ट रूप से टीआरआईएम एसएसडी नहीं करता है: क्यों नहीं और इसे स्वयं कैसे सक्षम करें

विषयसूची:

उबंटू डिफ़ॉल्ट रूप से टीआरआईएम एसएसडी नहीं करता है: क्यों नहीं और इसे स्वयं कैसे सक्षम करें
उबंटू डिफ़ॉल्ट रूप से टीआरआईएम एसएसडी नहीं करता है: क्यों नहीं और इसे स्वयं कैसे सक्षम करें

वीडियो: उबंटू डिफ़ॉल्ट रूप से टीआरआईएम एसएसडी नहीं करता है: क्यों नहीं और इसे स्वयं कैसे सक्षम करें

वीडियो: उबंटू डिफ़ॉल्ट रूप से टीआरआईएम एसएसडी नहीं करता है: क्यों नहीं और इसे स्वयं कैसे सक्षम करें
वीडियो: NETGEAR Nighthawk RAXE500 Router Full Review | Unboxing, Speed Tests, Range Tests, App and More... - YouTube 2024, जुलूस
Anonim
उबंटू उबंटू 14.04 में डिफ़ॉल्ट रूप से एसएसडी के लिए टीआरआईएम सक्षम करना चाहता है। दूसरे शब्दों में, उबंटू पहले ही टीआरआईएम का उपयोग नहीं कर रहा है, इसलिए आपका एसएसडी समय के साथ धीमा हो रहा है। लेकिन उबंटू पहले ही टीआरआईएम का उपयोग क्यों नहीं कर रहा है?
उबंटू उबंटू 14.04 में डिफ़ॉल्ट रूप से एसएसडी के लिए टीआरआईएम सक्षम करना चाहता है। दूसरे शब्दों में, उबंटू पहले ही टीआरआईएम का उपयोग नहीं कर रहा है, इसलिए आपका एसएसडी समय के साथ धीमा हो रहा है। लेकिन उबंटू पहले ही टीआरआईएम का उपयोग क्यों नहीं कर रहा है?

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

टीआरआईएम क्यों महत्वपूर्ण है

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

सॉलिड-स्टेट ड्राइव (एसएसडी) अलग-अलग काम करते हैं। जब भी आप एक एसएसडी में एक फाइल लिखते हैं, तो कंप्यूटर को पहले से डेटा लिखने वाले क्षेत्रों में किसी भी डेटा को मिटाना होगा। यह केवल एक ऑपरेशन में सेक्टरों को "ओवरराइट" नहीं कर सकता है - इसे पहले उन्हें साफ़ करना होगा, फिर रिक्त क्षेत्रों को लिखें।

इसका मतलब है कि समय के साथ एक एसएसडी धीमा हो जाएगा। एसएसडी के क्षेत्रों को लिखना पहली बार जल्दी होगा। कुछ फ़ाइलों को हटाने के बाद और इसे फिर से लिखने का प्रयास करने के बाद, इसमें अधिक समय लगेगा। Google के मूल नेक्सस 7 के समय के साथ इतना धीमा कारण यह एक बड़ा हिस्सा है। Google ने एंड्रॉइड 4.3 में टीआरआईएम लागू करके इसे ठीक किया। (एंड्रॉइड भी लिनक्स कर्नेल का उपयोग करता है।)

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

दूसरे शब्दों में, यदि आप टीआरआईएम का उपयोग नहीं करते हैं, तो आपका एसएसडी समय के साथ धीमा हो जाएगा। यही कारण है कि विंडोज 7+, मैक ओएस एक्स 10.6.8+, और एंड्रॉइड 4.3+ सहित आधुनिक ऑपरेटिंग सिस्टम टीआरआईएम का उपयोग करते हैं। दिसंबर 2008 में टीआईआरएम को लिनक्स में वापस लागू किया गया था, लेकिन उबंटू डिफ़ॉल्ट रूप से इसका उपयोग नहीं कर रहा है।

डिफ़ॉल्ट रूप से उबंटू TRIM क्यों नहीं है?

वास्तविक कारण उबंटू डिफ़ॉल्ट रूप से टीआरआईएम एसएसडी नहीं करता है क्योंकि लिनक्स कर्नेल का टीआरआईएम का कार्यान्वयन धीमा है और इसके परिणामस्वरूप सामान्य उपयोग में खराब प्रदर्शन होता है।

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

ओपनएसयूएसई की विकी में डेवलपर की कुछ विस्तृत जानकारी शामिल है जो लिनक्स कर्नेल से अधिक परिचित है। यह थोड़ा दिनांकित है, लेकिन प्रदर्शन की बात आने पर भी यह सच है:

“The kernel implementation of realtime trim in 11.2, 11.3, and 11.4 is not optimized. The spec. calls for trim supporting a vectorized list of trim ranges, but as of kernel 3.0 trim is only invoked by the kernel with a single discard / trim range and with current mid 2011 SSDs this has proven to cause a performance degradation instead of a performance increase. There are few reasons to use the kernels realtime discard support with pre-3.1 kernels. It is not known when the kernels discard functionality will be optimized to work beneficially with current generation SSDs.” [Source]

दूसरे शब्दों में, लिनक्स कर्नेल धीमी, अप्रचलित तरीके से ऐसे वास्तविक समय TRIM आदेशों को संभालता है। टीआरआईएम को विंडोज़ के समान कैसे सक्षम करता है - यानी, "डिसकार्ड" विकल्प का उपयोग करके - सिस्टम में परिणाम वास्तव में धीमे हो जाते हैं अगर टीआरआईएम का उपयोग नहीं किया जाता है। उबंटू और अन्य लिनक्स वितरण आपके फाइल सिस्टम के लिए डिफ़ॉल्ट रूप से "त्यागें" सक्षम नहीं करते हैं, और आपको या तो नहीं करना चाहिए।

Image
Image

एक और तरीका है

चूंकि लिनक्स कर्नेल का रीयल-टाइम "डिसर्ड" टीआरआईएम ऑपरेशन अच्छा प्रदर्शन नहीं करता है, इसलिए अधिकांश लिनक्स वितरण - उबंटू समेत - स्वचालित रूप से टीआरआईएम का उपयोग नहीं करते हैं। एंड्रॉइड 4.3 तक एंड्रॉइड ने टीआरआईएम का भी उपयोग नहीं किया।

लेकिन टीआरआईएम का उपयोग करने का एक और तरीका है। प्रत्येक बार जब फ़ाइल हटा दी जाती है तो TRIM कमांड जारी करने की बजाय, FITRIM सुविधा का उपयोग किया जा सकता है। यह fstrim कमांड के माध्यम से होता है। अनिवार्य रूप से, fstrim कमांड फ़ाइल सिस्टम का विश्लेषण करता है और ड्राइव को सूचित करता है कि ब्लॉक की अब आवश्यकता नहीं है, इसलिए ड्राइव उन्हें त्याग सकती है। यह एक वास्तविक समय के संचालन से एक निर्धारित कार्य में टीआरआईएम बदल जाता है। दूसरे शब्दों में, fstrim एक क्रॉन नौकरी के रूप में TRIM प्रदर्शन कर सकते हैं। ऐसा करने का कोई कारण नहीं है। यह कुछ भी धीमा नहीं करेगा; यह एक और घर के कामकाजी कार्य है जिसे सिस्टम को एक कार्यक्रम पर प्रदर्शन करना है।

असल में, एंड्रॉइड 4.3 के साथ Google ने यह दृष्टिकोण लिया है। एंड्रॉइड बस कभी-कभी फाइल सिस्टम को टीआरआईएम करने के लिए एक फस्ट्रिम कार्य चलाता है, जो उन सभी मूल नेक्सस 7 को धीमा करने वाली समस्या को ठीक करता है।

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

टीआरआईएम कैसे सक्षम करें

हम आपके फाइल सिस्टम को "डिसकार्ड" ऑपरेशन के साथ आरोहित करने की अनुशंसा नहीं करते हैं, क्योंकि इसके परिणामस्वरूप सामान्य उपयोग में धीमी कार्यक्षमता होगी। हालांकि, आप कभी-कभी fstrim कमांड चलाकर या अपने स्वयं के cronjob को बनाकर TRIM का उपयोग कर सकते हैं जो शेड्यूल पर fstrim चलाता है।

उबंटू पर अपने एसएसडी को ट्रिम करने के लिए, बस टर्मिनल खोलें और निम्न आदेश चलाएं:

sudo fstrim -v /

एसएसडी पर प्रदर्शन गिरावट को रोकने के लिए आप कभी-कभी उपरोक्त आदेश चला सकते हैं। इसे चलाने के लिए आपको कितनी बार आवश्यकता होती है इस पर निर्भर करता है कि आपके एसएसडी से कितनी बार फ़ाइलें हटा दी जाती हैं। यदि आप उस ड्राइव के साथ कमांड चलाने का प्रयास करते हैं जो TRIM का समर्थन नहीं करता है तो आपको एक त्रुटि दिखाई देगी।
एसएसडी पर प्रदर्शन गिरावट को रोकने के लिए आप कभी-कभी उपरोक्त आदेश चला सकते हैं। इसे चलाने के लिए आपको कितनी बार आवश्यकता होती है इस पर निर्भर करता है कि आपके एसएसडी से कितनी बार फ़ाइलें हटा दी जाती हैं। यदि आप उस ड्राइव के साथ कमांड चलाने का प्रयास करते हैं जो TRIM का समर्थन नहीं करता है तो आपको एक त्रुटि दिखाई देगी।

यदि आप नियमित रूप से टीआरआईएम को चलाने के लिए चाहते हैं, तो आप बस एक cronjob बना सकते हैं जो आपके लिए fstrim कमांड चलाता है।यहां एक बेयरबोन क्रॉन नौकरी बनाने का तरीका बताया गया है जो स्वचालित रूप से ऐसा करेगा।

सबसे पहले, रूट अनुमतियों के साथ नैनो टेक्स्ट एडिटर खोलने के लिए निम्न आदेश चलाएं:

sudo nano /etc/cron.daily/fstrim

फ़ाइल में निम्न कोड टाइप करें:

#!/bin/sh

fstrim /

Ctrl + O दबाकर फ़ाइल को सहेजें और पुष्टि करने के लिए एंटर दबाएं। फ़ाइल को सहेजने के बाद नैनो को बंद करने के लिए Ctrl + X दबाएं।
Ctrl + O दबाकर फ़ाइल को सहेजें और पुष्टि करने के लिए एंटर दबाएं। फ़ाइल को सहेजने के बाद नैनो को बंद करने के लिए Ctrl + X दबाएं।

अंत में, स्क्रिप्ट निष्पादन योग्य बनाने के लिए निम्न आदेश चलाएं:

sudo chmod +x /etc/cron.daily/fstrim

उबंटू अब एक कार्यक्रम पर fstrim चलाएगा, जैसे यह अन्य सिस्टम रखरखाव कार्यों करता है।
उबंटू अब एक कार्यक्रम पर fstrim चलाएगा, जैसे यह अन्य सिस्टम रखरखाव कार्यों करता है।

ध्यान दें कि टीआरआईएम केवल आधुनिक फाइल सिस्टम पर समर्थित है, इसलिए आपको ext4 की तरह कुछ और ext3 या ext2 की आवश्यकता नहीं होगी। यदि आप नहीं जानते कि आप किस फाइल सिस्टम का उपयोग कर रहे हैं, तो चिंता न करें - ext4 डिफ़ॉल्ट रूप से चुना जाता है।

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

सिफारिश की: