फाइलें जो NTFS संपीड़न का उपयोग डिस्क पर या मेमोरी में विघटित होती हैं?


14

विंडोज में NTFS डीकंप्रेसन कैसे काम करता है? Microsoft के अनुसार, NTFS डीकंप्रेसन फ़ाइल का विस्तार करके, फिर उसका उपयोग करके किया जाता है। यह सही लगता है, लेकिन मेरा सवाल यह है कि यह प्रक्रिया तकनीकी रूप से कैसे होती है।

क्या विंडोज़ संपीड़ित फ़ाइल को मेमोरी में लोड करता है, इसे मेमोरी में विस्तारित करता है, और मेमोरी से पढ़ता है? या क्या यह संपीड़ित फ़ाइल को मेमोरी में लोड करता है, इसे डिस्क या मेमोरी में विस्तारित करता है, डिस्क पर लिखता है, और फिर पढ़ता है?

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


1
मैंने आपके प्रश्न को अधिक ध्यान केंद्रित करने के लिए संपादित किया है कि क्या फाइलें मेमोरी या डिस्क से विघटित हैं। इस तरह, यह इस अन्य प्रश्न के डुप्लिकेट के रूप में बंद होने की बहुत कम संभावना होगी , जो अन्य पहलुओं पर अधिक स्पर्श करता है।
बेन एन

जवाबों:


19

विंडोज मेमोरी में फाइलों को डीकंप्रेस करता है। डिस्क पर इसे करने से किसी भी गति में सुधार पूरी तरह से हो जाएगा और बहुत सारे अनावश्यक डिस्क लेखन का कारण होगा। NTFS विरल फ़ाइलों और संपीड़न पर Microsoft के इस ब्लॉग लेख का अंत देखें :

  1. NTFS यह निर्धारित करता है कि किस संपीड़न इकाई तक पहुँचा जा रहा है।
  2. कम्प्रेशन यूनिट की पूरी आवंटित रेंज पढ़ी जाती है।
  3. यदि इकाई संपीड़ित नहीं है, तो हम चरण 5 पर छोड़ देते हैं। अन्यथा, एनटीएफएस डिस्कनेक्ट सीयू को डिस्क पर लिखने के लिए आवश्यक स्थान को आरक्षित (लेकिन आवंटित नहीं) करने का प्रयास करेगा। यदि डिस्क पर अपर्याप्त मुक्त स्थान मौजूद है, तो एप्लिकेशन को पढ़ने के दौरान एक ERROR_DISK_FULL मिल सकता है।
  4. सीयू स्मृति में विघटित हो जाएगा ।
  5. विघटित बाइट रेंज को कैश में मैप किया जाएगा और अनुरोध करने पर वापस आ जाएगा।
  6. ...

बेशक, यदि आप मेमोरी कम कर रहे हैं, तो डिकम्प्रेसन प्रक्रिया द्वारा उपयोग की जाने वाली मेमोरी अन्य मेमोरी को पृष्ठ फ़ाइल में डिस्क से लिखे और लिखे जाने का कारण बन सकती है। सौभाग्य से, केवल उन खंडों से युक्त जो आपके कार्यक्रमों को वास्तव में पढ़ते हैं, विघटित होंगे; यदि आपको केवल कुछ बाइट्स की आवश्यकता है, तो NTFS को पूरी चीज़ को डिकम्पोज नहीं करना है।

यदि आपका SSD तेज़ है, तो आप शायद NTFS संपीड़न से गति में सुधार नहीं करेंगे। यह अनुमान लगाने योग्य है कि जिस समय आपका प्रोसेसर डेटा घटाता है, उस समय और आपकी डिस्क को संपीड़ित डेटा पढ़ने में खर्च करने का समय आपके एसएसडी द्वारा असम्पीडित डेटा को पढ़ने में लगने वाले समय से अधिक हो सकता है। यह उन फ़ाइलों के आकार पर भी निर्भर करता है जिनके साथ आप काम करते हैं। एक संकुचित फ़ाइल का न्यूनतम आकार आपके क्लस्टर आकार के आधार पर 8 KB से 64 KB तक होता है। उस आकार से कम की कोई भी फ़ाइल बिल्कुल भी संपीड़ित नहीं की जाएगी, लेकिन थोड़ी मात्रा में बहीखाता जोड़ा जाएगा।

यदि आप संपीड़ित फ़ाइलों के लिए बहुत अधिक लेखन करते हैं, तो आप उपयोग किए जाने वाले संपीड़न एल्गोरिदम (LZ) के कारण गति में बहुत अधिक विचरण देख सकते हैं।

आगे पढ़ने: NTFS संपीड़न प्रदर्शन को कैसे प्रभावित करता है?


1
> यदि आप मेमोरी में कम हैं, तो डिकम्प्रेस्ड डेटा को पेज फाइल में डिस्क पर लिखा जा सकता है और लिखा जा सकता है [उद्धरण वांछित] - एक स्मार्ट एल्गोरिदम बस डिकम्प्रेस किए गए डेटा को बाहर फेंक देगा और अगले एक्सेस पर फिर से डिकम्प्रेसन का प्रदर्शन करेगा। (डी) संपीड़न की धारणा पेजिंग की तुलना में तेजी के परिमाण के आदेश हैं। वास्तव में, यह पहले से ही पेज कैश के साथ क्या होता है - और मैं उम्मीद करूंगा कि विंडोज बस इस विघटित डेटा को उसी कैश में डाल देगा। (विंडोज में, सभी फ़ाइल r / w पेज कैश के माध्यम से चला जाता है, तब भी जब वह लिख रहा हो।)
बॉब

वास्तव में, शायद यही वह करता है। मैंने उत्तर के उस भाग को समायोजित कर लिया है, धन्यवाद।
बेन एन

"विघटित बाइट रेंज कैश में मैप की जाएगी " क्या आप जानते हैं कि कैश की परिभाषा यहाँ क्या है? बस उत्सुक। ----- "अन्यथा, NTFS डिकम्प्रेस्ड CU को डिस्क पर लिखने के लिए आवश्यक स्थान को आरक्षित करने का प्रयास करेगा।" क्या हम इसका सही कारण जानते हैं? क्या Microsoft यह मान रहा है कि फ़ाइल में संशोधन करने से आकार नहीं जोड़ा जाएगा जो मूल संयुक्त-संकुचित आकार को पार करने के लिए कुल संपीड़ित आकार का कारण होगा? एक बेकार धारणा की तरह लगता है।
कॉसिंगउंडरफ्लोव एवरीवेयर

इसलिए सारांश में हम देख रहे हैं: डिस्क से पढ़ें, -> डिकम्प्रेस्ड लिखने के लिए पर्याप्त जगह की जांच करने के लिए एमएफटी पढ़ें, -> मेमोरी में डिकम्प्रेस, -> इसे अनुरोध एप्लिकेशन के कैश में फेंक दें? क्या हम एप्लिकेशन के निजी बाइट्स के बारे में बात कर रहे हैं? बस उत्सुक। ---------- क्या यही हम यहाँ देख रहे हैं?
कॉज़िंगउंडरफ्लोव हर जगह 5:16 बजे

1
@CausingUnderflowsEverywhere यह कैश IO कैश है , जो इसे इतनी अधिक रीड बनाता है कि सभी को डिस्क द्वारा सेवित करने की आवश्यकता नहीं होगी। एनटीएफएस को उम्मीद है कि नया डेटा मौजूदा सीयू में फिट होगा, लेकिन यह सुनिश्चित करता है कि अगर यह नहीं है तो जगह है। यह मेरी समझ है कि आईओ कैश एक एप्लिकेशन के लिए विशिष्ट नहीं है, हालांकि जब इसे बुलाया जाएगा तो डेटा प्रोग्राम की निजी मेमोरी में समाप्त हो जाएगा।
बेन एन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.