यहाँ, मैंने दुर्घटना से एक पुस्तक लिखी। पहले कुछ कॉफी ले आओ।
कंप्यूटर को डिस्क स्पेस खाली करने से गति क्यों आती है?
यह कम से कम अपने दम पर नहीं है। यह वास्तव में एक सामान्य मिथक है। कारण यह एक आम मिथक है क्योंकि आपके हार्ड ड्राइव को भरने अक्सर अन्य चीजें हैं जो पारंपरिक रूप से के रूप में एक ही समय में होता है हो सकता है धीमा † आपके कंप्यूटर। SSD प्रदर्शन ड्राइव भरने के रूप में नीचा दिखाने के लिए है , लेकिन यह SSDs के लिए अद्वितीय एक अपेक्षाकृत नया मुद्दा है, और आकस्मिक उपयोगकर्ताओं के लिए वास्तव में ध्यान देने योग्य नहीं है। आम तौर पर, कम मुक्त डिस्क स्थान सिर्फ एक लाल हेरिंग है ।
उदाहरण के लिए, जैसे चीजें:
फ़ाइल विखंडन। फ़ाइल विखंडन है एक मुद्दा †† , है, लेकिन मुक्त स्थान की कमी है, जबकि की निश्चित रूप से एक बहुत योगदान कारक नहीं है, केवल यह के कारण। यहाँ कुछ मुख्य बिंदु:
फ़ाइल के टुकड़े होने की संभावना ड्राइव पर छोड़ी गई खाली जगह की मात्रा से संबंधित नहीं है । वे ड्राइव पर मुक्त स्थान के सबसे बड़े सन्निहित ब्लॉक के आकार से संबंधित हैं (जैसे मुक्त स्थान के "छेद"), जिस पर मुक्त स्थान की मात्रा एक ऊपरी बाध्य करने के लिए होती है । वे इस बात से भी संबंधित हैं कि फ़ाइल सिस्टम फ़ाइल आवंटन (अधिक नीचे) को कैसे संभालता है। पर विचार करें: एक ड्राइव है कि एक ही सन्निहित ब्लॉक में सभी रिक्त स्थान के साथ पूर्ण 95% है एक नई फ़ाइल fragmenting के 0% मौका है ††† (और एक संलग्न फ़ाइल fragmenting का मौका मुक्त अंतरिक्ष के स्वतंत्र है)। एक ड्राइव जो 5% भरी हुई है लेकिन ड्राइव पर समान रूप से फैले डेटा के साथ विखंडन की बहुत अधिक संभावना है।
ध्यान रखें कि फ़ाइल विखंडन केवल प्रदर्शन को प्रभावित करता है जब खंडित फ़ाइलों तक पहुँचा जा रहा है । विचार करें: आपके पास एक अच्छा, डीफ़्रैग्मेन्टेड ड्राइव है जिसमें अभी भी बहुत सारे मुफ्त "छेद" हैं। एक आम परिदृश्य। सब कुछ सुचारू रूप से चल रहा है। आखिरकार, हालांकि, आप एक ऐसे बिंदु पर पहुंच जाते हैं, जहां खाली स्थान के अधिक बड़े ब्लॉक शेष नहीं हैं। आप एक बहुत बड़ी फिल्म डाउनलोड करते हैं, फ़ाइल का अंत गंभीर रूप से खंडित हो जाता है। इससे आपका कंप्यूटर धीमा नहीं होगा। आपके सभी एप्लिकेशन फ़ाइल और ऐसे जो पहले ठीक थे, अचानक खंडित नहीं होंगे। इससे फिल्म बन सकती हैलोड होने में अधिक समय लें (हालांकि हार्ड ड्राइव रीड रेट्स की तुलना में विशिष्ट मूवी बिट रेट्स इतने कम हैं कि यह सबसे अधिक संभावना नहीं है), और यह आई / ओ-बाउंड प्रदर्शन को प्रभावित कर सकता है जबकि फिल्म लोड हो रही है, लेकिन इसके अलावा, कुछ नहीं बदलता है।
जबकि फ़ाइल विखंडन निश्चित रूप से एक मुद्दा है, अक्सर ओएस और हार्डवेयर स्तर बफरिंग और कैशिंग द्वारा प्रभाव को कम किया जाता है। विलंबित लिखते हैं, आगे पढ़ते हैं, विंडोज में प्रीफ़ेचर जैसी रणनीतियों , आदि सभी विखंडन के प्रभाव को कम करने में मदद करते हैं। आप आम तौर पर नहीं है वास्तव में महत्वपूर्ण प्रभाव का अनुभव जब तक विखंडन गंभीर हो (मैं भी कहना है कि जब तक आपके स्वैप फ़ाइल खंडित नहीं है, तो आप शायद नोटिस नहीं करेंगे उद्यम चाहते हैं)।
खोज अनुक्रमण एक और उदाहरण है। मान लें कि आपके पास स्वचालित अनुक्रमण चालू है और एक OS जो इस इनायत को नहीं संभालता है। जब आप अपने कंप्यूटर (दस्तावेज़ और इस तरह) के लिए अधिक से अधिक अनुक्रमित सामग्री को सहेजते हैं, तो अनुक्रमण में अधिक समय और अधिक समय लग सकता है और आपके कंप्यूटर की कथित गति पर इसका प्रभाव पड़ना शुरू हो सकता है, जबकि I / O और CPU दोनों का उपयोग होता है । यह मुक्त स्थान से संबंधित नहीं है, यह आपके पास अनुक्रमित सामग्री की मात्रा से संबंधित है। हालांकि, खाली स्थान से बाहर चलने से अधिक सामग्री संग्रहीत करने में हाथ जाता है, इसलिए एक गलत कनेक्शन तैयार किया जाता है।
एंटीवायरस सॉफ्टवेयर। खोज अनुक्रमण उदाहरण के समान। मान लें कि आपके पास अपने सॉफ़्टवेयर की पृष्ठभूमि स्कैनिंग करने के लिए एंटीवायरस सॉफ़्टवेयर सेट अप है। जैसा कि आपके पास अधिक से अधिक स्कैन करने योग्य सामग्री है, खोज में अधिक I / O और CPU संसाधन हैं, संभवतः आपके काम में हस्तक्षेप कर रहे हैं। फिर, यह आपके पास स्कैन करने योग्य सामग्री की मात्रा से संबंधित है। अधिक सामग्री अक्सर कम मुक्त स्थान के बराबर होती है, लेकिन मुक्त स्थान की कमी इसका कारण नहीं है।
स्थापित सॉफ्टवेयर। मान लें कि आपके पास बहुत सारे सॉफ़्टवेयर स्थापित हैं जो आपके कंप्यूटर के बूट होने पर लोड करते हैं, इस प्रकार स्टार्ट-अप समय धीमा कर देते हैं। यह धीमा होता है क्योंकि बहुत सारे सॉफ़्टवेयर लोड किए जा रहे हैं। हालाँकि, स्थापित सॉफ़्टवेयर हार्ड ड्राइव स्थान लेता है। इसलिए हार्ड ड्राइव मुक्त स्थान उसी समय घट जाती है जब ऐसा होता है, और फिर से एक गलत कनेक्शन आसानी से बनाया जा सकता है।
- उन पंक्तियों, जो जब एक साथ लिया साथ कई अन्य उदाहरण, दिखाई कम प्रदर्शन के साथ मुक्त अंतरिक्ष के निकट सहयोगी कमी के।
उपरोक्त एक और कारण बताता है कि यह इस तरह का एक आम मिथक है: जबकि खाली जगह की कमी धीमी गति का प्रत्यक्ष कारण नहीं है, विभिन्न अनुप्रयोगों की स्थापना रद्द करना, अनुक्रमित या स्कैन की गई सामग्री को हटाना, आदि कभी-कभी (लेकिन हमेशा नहीं, इस के दायरे के बाहर; जवाब) बढ़ जाती है मुक्त अंतरिक्ष शेष की राशि से असंबंधित होने के लिए फिर से प्रदर्शन। लेकिन यह भी स्वाभाविक रूप से हार्ड ड्राइव स्थान को मुक्त करता है। इसलिए, फिर से, "अधिक खाली स्थान" और "तेज कंप्यूटर" के बीच एक स्पष्ट (लेकिन गलत) कनेक्शन बनाया जा सकता है।
विचार करें: यदि आपके पास बहुत सारे इंस्टॉल किए गए सॉफ़्टवेयर आदि के कारण धीरे-धीरे मशीन चल रही है, और आप क्लोन करते हैं, तो ठीक है, आपकी हार्ड ड्राइव एक बड़ी हार्ड ड्राइव पर जाती है और अधिक खाली स्थान प्राप्त करने के लिए अपने विभाजनों का विस्तार करें, मशीन जादुई गति नहीं देगा यूपी। वही सॉफ्टवेयर लोड, वही फाइलें अभी भी उसी तरह से खंडित हैं, वही खोज इंडेक्स अभी भी चलता है, अधिक खाली स्थान होने के बावजूद कुछ भी नहीं बदलता है।
क्या यह एक मेमोरी स्पेस की खोज के साथ करना है जहां चीजों को सहेजना है?
नहीं, यह नहीं है। यहां दो महत्वपूर्ण बातें ध्यान देने योग्य हैं:
आपकी हार्ड ड्राइव चीजों को लगाने के लिए स्थानों को खोजने के लिए चारों ओर नहीं खोजती है। आपकी हार्ड ड्राइव बेवकूफ है। यह कुछ भी नहीं है। यह संबोधित भंडारण का एक बड़ा ब्लॉक है जो नेत्रहीन चीजों को डालता है जहां आपका ओएस इसे बताता है और जो कुछ भी पूछा जाता है उसे पढ़ता है। आधुनिक ड्राइव में परिष्कृत कैशिंग और बफ़रिंग मैकेनिज़्म हैं, जो भविष्यवाणी करते हैं कि ओएस समय के साथ प्राप्त अनुभव के आधार पर पूछने के लिए जा रहा है (कुछ ड्राइव फ़ाइल सिस्टम के बारे में भी जानते हैं जो उन पर है), लेकिन अनिवार्य रूप से, सोचें कभी-कभी बोनस प्रदर्शन सुविधाओं के साथ भंडारण का एक बड़ा गूंगा ईंट के रूप में आपकी ड्राइव।
आपका ऑपरेटिंग सिस्टम चीजों को लगाने के लिए स्थानों की खोज नहीं करता है, या तो। कोई "खोज" नहीं है। इस समस्या को हल करने में बहुत प्रयास किया गया है, क्योंकि सिस्टम प्रदर्शन को दर्ज करना महत्वपूर्ण है। जिस तरह से आपके ड्राइव पर डेटा वास्तव में व्यवस्थित होता है वह आपके फाइल सिस्टम द्वारा निर्धारित किया जाता है। उदाहरण के लिए, FAT32 (पुराने डॉस और विंडोज पीसी), NTFS (बाद में विंडोज), HFS + (Mac), ext4 (कुछ लिनक्स), और कई अन्य। यहां तक कि एक "फ़ाइल" और "निर्देशिका" की अवधारणा केवल विशिष्ट फ़ाइल सिस्टम के उत्पाद हैं - हार्ड ड्राइव "फ़ाइलों" नामक रहस्यमय जानवरों के बारे में नहीं जानते हैं। विवरण इस उत्तर के दायरे से बाहर हैं। लेकिन अनिवार्य रूप से, सभी सामान्य फ़ाइल सिस्टम में ट्रैकिंग के तरीके होते हैं जहां उपलब्ध स्थान ड्राइव पर होता है ताकि सामान्य परिस्थितियों में (अच्छे स्वास्थ्य में फ़ाइल सिस्टम) के तहत, मुक्त स्थान की खोज अनावश्यक हो। उदाहरण:
एनटीएफएस में एक मास्टर फाइल टेबल है , जिसमें विशेष फाइलें $Bitmap
, आदि और ड्राइव का वर्णन करने वाले बहुत सारे मेटा डेटा शामिल हैं। अनिवार्य रूप से यह ट्रैक रखता है कि अगले फ्री ब्लॉक कहां हैं, ताकि हर बार ड्राइव को स्कैन किए बिना नई फाइलें सीधे फ्री ब्लॉक में लिखी जा सकें।
एक अन्य उदाहरण, ext4 ने "बिटमैप आवंटनकर्ता" कहा है , ext2 और ext3 पर एक सुधार जो मूल रूप से इसे सीधे यह निर्धारित करने में मदद करता है कि नि: शुल्क ब्लॉक मुक्त ब्लॉक की सूची को स्कैन करने के बजाय कहां हैं। Ext4 "विलंबित आवंटन" का भी समर्थन करता है, अर्थात, OS द्वारा डेटा को बफ़र करने से पहले इसे ड्राइव पर लिखने से पहले बेहतर निर्णय लेने के लिए कि विखंडन को कम करने के लिए इसे कहां रखा जाए।
कई अन्य उदाहरण।
या किसी चीज़ को बचाने के लिए एक लंबे समय तक निरंतर जगह बनाने के लिए चीजों को घुमाते हुए?
नहीं। ऐसा नहीं है, कम से कम किसी भी फाइल सिस्टम के बारे में नहीं जिससे मैं वाकिफ हूं। फ़ाइलें केवल खंडित हो जाती हैं।
"चीज़ों को बचाने के लिए एक लंबी पर्याप्त सन्निहित जगह बनाने के लिए चीजों को घूमने" की प्रक्रिया को डीफ़्रैग्मेन्टिंग कहा जाता है । ऐसा तब नहीं होता जब फाइलें लिखी जाती हैं। ऐसा तब होता है जब आप अपना डिस्क डीफ़्रेग्मेंटर चलाते हैं। नए विंडोज पर, कम से कम, यह स्वचालित रूप से एक शेड्यूल पर होता है, लेकिन यह कभी भी फ़ाइल लिखकर ट्रिगर नहीं होता है।
इस तरह के आस-पास घूमने वाली चीजों से बचने में सक्षम होना सिस्टम प्रदर्शन को दर्ज करने के लिए महत्वपूर्ण है, और यही कारण है कि विखंडन होता है और क्यों डिफ्रैग्मेंटेशन एक अलग कदम के रूप में मौजूद है।
हार्ड डिस्क पर कितनी खाली जगह मुझे मुफ्त छोड़नी चाहिए?
यह जवाब देने के लिए एक पेचीदा सवाल है, और यह जवाब पहले ही एक छोटी सी किताब में बदल गया है।
अंगूठे का नियम:
निजी तौर पर मैं आमतौर पर एक बड़ी ड्राइव को पकड़ लेता हूं जब मेरे पास लगभग 20-25% खाली जगह बची होती है। यह प्रदर्शन से संबंधित नहीं है, यह सिर्फ इतना है कि जब मैं उस बिंदु पर पहुंचता हूं, तो मुझे उम्मीद है कि मैं शायद जल्द ही डेटा के लिए अंतरिक्ष से बाहर चला जाऊंगा, और यह एक बड़ी ड्राइव पाने का समय है।
निशुल्क स्थान देखने से अधिक महत्वपूर्ण यह सुनिश्चित करना है कि अनुसूचित डीफ़्रैग्मेन्टेशन सक्षम किया जाता है जहां उपयुक्त (एसएसडी पर नहीं), ताकि आप उस बिंदु पर कभी न पहुंचें जहां यह आपको प्रभावित करने के लिए पर्याप्त हो जाता है। उतना ही महत्वपूर्ण है कि गुमराह होने वाली चोटों से बचें और अपने ओएस को अपना काम करने दें, जैसे कि विंडोज प्रीफ़ेचर ( एसएसडी को छोड़कर ) को अक्षम न करें , आदि।
वहाँ एक आखिरी बात ध्यान देने योग्य है। यहां दिए गए अन्य उत्तरों में से एक का उल्लेख है कि SATA का आधा-द्वैध मोड एक ही समय में पढ़ने और लिखने से रोकता है। जबकि सच है, यह बहुत अधिक महत्वपूर्ण है और यहां प्रदर्शन के मुद्दों पर ज्यादातर असंबंधित है। इसका मतलब है, बस, यह है कि डेटा को एक ही समय में तार पर दोनों दिशाओं में स्थानांतरित नहीं किया जा सकता है । हालाँकि, SATA के पास छोटे से अधिकतम ब्लॉक आकार (तार पर लगभग 8kB प्रति ब्लॉक, मुझे लगता है) सहित एक काफी जटिल विनिर्देश है , ऑपरेशन कतारें, आदि पढ़ें और लिखें, और पढ़ते समय होने वाले बफ़र्स को लिखते नहीं हैं जबकि रीड्स प्रगति पर हैं, interleaved संचालन, आदि
कोई भी अवरोध जो भौतिक संसाधनों के लिए प्रतिस्पर्धा के कारण होता है, आमतौर पर बहुत सारे कैश द्वारा कम किया जाता है। SATA का द्वैध मोड लगभग पूरी तरह से अप्रासंगिक है।
† "धीरे" एक व्यापक शब्द है। यहाँ मैं इसका उपयोग उन चीजों को संदर्भित करने के लिए कर रहा हूँ जो या तो I / O- बद्ध हैं (जैसे कि यदि आपका कंप्यूटर वहाँ क्रंचिंग संख्या में बैठा है, तो हार्ड ड्राइव की सामग्री पर कोई प्रभाव नहीं पड़ता है), या CPU- बाउंड और स्पर्धात्मक रूप से संबंधित चीजों के साथ प्रतिस्पर्धा करना उच्च CPU उपयोग (उदाहरण के लिए एंटीवायरस सॉफ्टवेयर स्कैनिंग टन)।
†† SSDs विखंडन से प्रभावित होते हैं , क्रमिक पहुंच गति आम तौर पर यादृच्छिक अभिगम से तेज होती है, इसके बावजूद कि SSDs यांत्रिक उपकरण के समान सीमाओं का सामना नहीं कर रहे हैं (फिर भी, विखंडन की कमी, पहनने के स्तर के कारण, अनुक्रमिक पहुंच की गारंटी नहीं देता है, आदि। , के रूप में जेम्स Snell टिप्पणी में नोट)। हालांकि, लगभग हर सामान्य उपयोग परिदृश्य में, यह एक गैर-मुद्दा है। SSDs पर विखंडन के कारण प्रदर्शन अंतर आमतौर पर लोडिंग एप्लिकेशन, कंप्यूटर को बूट करने, आदि जैसी चीजों के लिए नगण्य होते हैं।
File एक साेन फाइल सिस्टम को मान लेना जो उद्देश्य पर फाइलों को खंडित नहीं कर रहा है।