एक विस्तृत विभाजन को डीफ़्रैग्मेंट करना?


10

Ext2 / 3/4 को डीफ़्रैग्मेन्ट करने की आवश्यकता क्यों नहीं है? क्या कोई विखंडन नहीं है?

जवाबों:


10

आधुनिक फाइलसिस्टम, विशेष रूप से जो बहु-उपयोगकर्ता और / या मल्टी-टास्किंग उपयोग मामलों में कुशल होने के लिए डिज़ाइन किए गए हैं, डेटा के विखंडन न करने का एक अच्छा काम करते हैं जब तक कि फाइलसिस्टम पूर्ण नहीं हो जाते हैं (जहां "पूर्ण करने के लिए पास" के लिए कोई सटीक आंकड़ा नहीं है) "चिह्न यह है कि यह इस बात पर निर्भर करता है कि फाइलसिस्टम कितना बड़ा है, फाइल साइज का वितरण और आपके एक्सेस पैटर्न क्या हैं - 85% से 95% के बीच के आंकड़े आमतौर पर उद्धृत किए जाते हैं) या फाइल क्रिएशन और लिखने का पैटर्न असामान्य है या फाइलसिस्टम है बहुत पुराने "कार्रवाई" का एक बहुत कुछ देखा है। इसमें ext2 / 3/4, reiser, btrfs, NTFS, ZFS और अन्य शामिल हैं।

वर्तमान में कोई कर्नेल नहीं है- / filesystem- पल में ext3 या 4 डीफ़्रेग्मेंट करने का स्तर तरीका (देखें) http://en.wikipedia.org/wiki/Ext3#Defragmentation थोड़ा और अधिक जानकारी के लिए) हालांकि ext4 जल्द ही ऑनलाइन हासिल करने की योजना है। defragmentation।

उपयोगकर्ता-भूमि उपकरण हैं (जैसे http://vleu.net/shake/और अन्य लोग उस विकिपीडिया लेख में सूचीबद्ध हैं) जो व्यक्तिगत फ़ाइलों या फ़ाइलों की सेटों को कॉपी / पुनर्लेखन करके उन्हें डीफ़्रैग्मेंट करने का प्रयास करते हैं - यदि रिक्त स्थान का एक बड़ा पर्याप्त ब्लॉक है तो आम तौर पर फ़ाइल को एक सन्निहित ब्लॉक दिया जाता है। यह किसी भी तरह से गारंटी नहीं देता है कि फाइलें एक-दूसरे के पास हैं, लेकिन यदि आप बड़ी फ़ाइलों की एक जोड़ी पर हिलाते हैं, तो आप पाते हैं कि दो फाइलों में परिणाम खुद को डीफ़्रेग्मेंट किया जा रहा है, लेकिन डिस्क पर एक-दूसरे के पास कहीं भी नहीं। एक बहु-उपयोगकर्ता फाइल सिस्टम में एक-दूसरे के लिए फ़ाइलों की स्थानीयता अक्सर महत्वपूर्ण नहीं होती है (यह निश्चित रूप से कम महत्वपूर्ण है तो स्वयं फ़ाइलों का विखंडन) क्योंकि ड्राइव सिर अलग-अलग उपयोगकर्ता की सेवा करने के लिए सभी जगहों पर फ़्लिप कर रहे हैं '

यदि आपके पास एक फाइल सिस्टम है जो समय के साथ बुरी तरह से खंडित हो गया है और वर्तमान में इसके लिए पर्याप्त खाली जगह है तो shakeइसकी सभी फाइलों पर कुछ ऐसा चल सकता है जैसा आप देख रहे हैं। एक और तरीका यह होगा कि आप सभी डेटा को एक नई फाइलसिस्टम में कॉपी करें, मूल को निकालें, और फिर इसे फिर से कॉपी करें। यह उसी तरह से मदद shakeकरता है, लेकिन बड़ी मात्रा में डेटा के लिए त्वरित हो सकता है।

विखंडन की छोटी मात्रा के लिए, बस इसके बारे में चिंता न करें। मुझे पता है कि जो लोग अधिक समय बिताते हैं वे सामान्य ऑपरेशन के कई जन्मों में बचाने की तुलना में डीफ़्रैग्मेन्टेशन प्रगति बार देख रहे हैं, क्योंकि वे कभी भी बचाएंगे (अधिक कुशल डिस्क एक्सेस के कारण)!


क्या कोई तंत्र है जैसे: स्थानीयकरण का लाभ प्राप्त करने के लिए बूटिंग के दौरान एक दूसरे के पास रखी जाने वाली फ़ाइलों को अक्सर इस्तेमाल किया जाता है? इतना तेज़ बूट?
यूरे

1
मेरी जानकारी में नहीं। आप उपयोग कर सकते हैं ureadahead, जैसा कि हाल ही में उबंटू डिफ़ॉल्ट रूप से करता है ( अधिक जानकारी के लिए ubuntuforums.org/showthread.php?t=1434502 देखें ), एक समान प्रभाव प्राप्त करने के लिए। लिनक्स बूट अनुक्रम में कुछ देरी को सेवाओं को अधिक समवर्ती रूप से शुरू करने के लिए कहकर कम किया जा सकता है जहां यदि संभव हो तो आपके डिसो का बूट सेटअप इस बात का समर्थन करता है (सेट करें CONCURRENCY = शेल में / etc / डिफॉल्ट / आरसी पर डेबियन और इसी तरह के ट्वीक्स। यह जाँचने के लिए कि आपके द्वारा बाद की तुलना में चीजों को ट्विक करने से पहले क्या होता है, यह दिखाने के लिए आप bootchart.org का उपयोग करते हैं ।
डेविड स्पिललेट

@ और, मैंने e2defragइस तरह की पैकिंग को प्राप्त करने के लिए लंबे समय से त्याग दिए गए और इसके साथ प्रयोग किया। आप इसे launchpad.net/e2defrag पर पा सकते हैं ।
Psusi

@ दाऊद: मैं नहीं है /etc/defaults/rcलेकिन क्या ज़रूरत है /etc/default/rcSडेबियन 6 पर
Ctrl-Alt-delor

@psusi - क्या यह e2defragअब एक्सट्रीम 3 को बेहतर सपोर्ट देता है, इससे बेहतर shake?
एलेक्स एस

0

जब तक डिस्क बहुत अधिक नहीं भर जाती है तब तक बहुत अधिक विखंडन नहीं होता है (इसलिए यदि आप इससे बच सकते हैं तो डिस्क को बहुत अधिक न भरें)।


2
इसलिए यदि डिस्क भर गया है, तो क्या हमें इसे डीफ़्रैग करने की आवश्यकता है?
यूरे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.