फ़ाइलों को कॉपी करने में लिनक्स विंडोज 10 की तुलना में 30 गुना तेज क्यों है?


20

मुझे 100k + आइटम की कुल फ़ाइलों और फ़ोल्डरों की 20.3 गिग मिली। मैंने विंडोज 10 से एक डायरेक्टरी में उन सभी फाइलों को डुप्लिकेट किया, और इसने मुझे 3hrs की नकल करने के लिए प्रेरित किया। किया हुआ।

दूसरे दिन, मैंने लिनक्स फेडोरा 24 में बूट किया, उसी फ़ोल्डर और बम को फिर से खोल दिया! मुझे एक ही जगह पर अलग-अलग डायरेक्टरी में इसे कॉपी करने के लिए सिर्फ 5 मिनट लगे।

लिनक्स इतना तेज क्यों है? और विंडोज श्रमसाध्य है धीमी गति से?

यहां भी ऐसा ही सवाल है

क्या (उबंटू) लिनक्स फ़ाइल विंडोज 7 की तुलना में एल्गोरिथ्म की नकल करना बेहतर है?

लेकिन स्वीकृत जवाब में काफी कमी है।


आप फ़ाइलों की प्रतिलिपि बनाने के लिए "विंडोज" या "लिनक्स" का उपयोग नहीं करते हैं, आप प्रत्येक ऑपरेटिंग सिस्टम में चलने वाले कुछ विशिष्ट प्रोग्राम का उपयोग करते हैं। प्रोग्राम व्यापक रूप से उनके द्वारा उपयोग किए जाने वाले तरीकों और उनके द्वारा किए गए ट्रेडऑफ़ में भिन्न होते हैं। आप किन लोगों का उपयोग कर रहे थे? और कैसे?
kreemoweet

5
@kreemoweet: तो ऑपरेटिंग सिस्टम - विंडोज 'NTFS को ज्यादातर अन्य फाइल सिस्टम की तुलना में बहुत सारी छोटी फाइलों के साथ वास्तव में खराब व्यवहार करने के लिए जाना जाता है।
user1686

2
और एक विंडोज प्रशंसक से अच्छा नीच हुह। आप फ़ाइलों को कॉपी करते हुए देखते हैं, हालांकि सरल में डेटा बैकअप से लेकर वैज्ञानिक अध्ययनों तक कई अनुप्रयोग हैं। उदाहरण के लिए, CERN में, निपटने के लिए पेटाबाइट्स के डेटा हैं, धीमी गति से नकल अस्वीकार्य होगी।
जोन्स जी

उसी लिंक से - नीचे से 2 वें उत्तर की जांच करें। लिनक्स सभी फ़ाइलों को उपलब्ध रैम में कैश करता है और जब वे कर सकते हैं तब डिस्क पर लिखते हैं - इसलिए यह तेज दिखता है (क्योंकि इसे केवल अब पढ़ने के लिए, और जब वे कर सकते हैं तो लिखना होगा)।
डेरियस

@DominicGuana फ़ाइल सिस्टम अपना हिस्सा करते हैं (ext3 / ext4 एक बार में 100Mb की मात्रा आवंटित कर सकते हैं)। क्या आपने विचार किया है कि खिड़कियों के नीचे एंटीवायरस एक (धीमा) भूमिका भी निभा सकता है? एसएलएसी डेटा अधिग्रहण प्रवाह के साथ इसी तरह की समस्याओं के लिए बीटीडब्ल्यू (1 स्तर के ट्रिगर के बाद बहुत अधिक डेटा था) हमने समानांतर में एचडीडी पर लिखना सीखा है ...
हस्तूर

जवाबों:


25

इसकी मूल बातें कुल प्रणाली के कुछ प्रमुख घटकों को तोड़ती हैं: UI तत्व (चित्रमय भाग), कर्नेल स्वयं (हार्डवेयर में क्या बात करता है), और वह प्रारूप जिसमें डेटा संग्रहीत होता है (यानी फ़ाइल सिस्टम )।

पीछे की तरफ जाना, NTFSकुछ समय के लिए विंडोज के लिए डी-फैक्टो रहा है, जबकि प्रमुख लिनक्स वेरिएंट के लिए डी-फैक्टो extफाइल सिस्टम है। Windows XP (2001) के बाद से NTFS फाइल सिस्टम अपने आप नहीं बदला है, बहुत सारी सुविधाएँ मौजूद हैं (जैसे विभाजन सिकुड़ना / उपचार, लेन-देन NTFS, आदि) OS (Windows Vista / 7/8/10) की विशेषताएं हैं और NTFS ही नहींextफाइल सिस्टम यह के अंतिम प्रमुख स्थिर रिलीज (था ext4ही क्या नियंत्रित करता है कि कैसे और कहाँ फ़ाइलें एक्सेस किया जाता है, तो आप उपयोग कर रहे हैं है फाइल सिस्टम के बाद से 2008 में) ext4वहाँ एक संभावना मौका आप NTFS से अधिक गति के लिए एक सुधार पर ध्यान देंगे है; ध्यान दें कि अगर आपने उपयोग किया है तो आप ext2देख सकते हैं कि यह गति में तुलनीय है।

यह भी हो सकता है कि एक विभाजन दूसरे की तुलना में छोटे विखंडू में स्वरूपित हो। अधिकांश सिस्टमों के लिए डिफ़ॉल्ट एक 4096 byte 1 , 2 क्लस्टर आकार है, लेकिन यदि आपने अपने ext4विभाजन को 16k 3 जैसी किसी चीज़ के लिए स्वरूपित किया है, तो ext4सिस्टम पर पढ़े गए प्रत्येक को 4x डेटा बनाम NTFS सिस्टम मिलेगा (जो कि संग्रहीत की गई फ़ाइलों के आधार पर 4x फ़ाइलों का अर्थ हो सकता है। कहाँ / कैसे और कितना बड़ा, आदि)। फ़ाइलों का विखंडन भी गति में भूमिका निभा सकता है। NTFS extफ़ाइल सिस्टम से फ़ाइल विखंडन को बहुत अलग तरीके से संभालता है, और 100k + फ़ाइलों के साथ, वहाँ एक अच्छा मौका है कुछ विखंडन है।

अगला घटक कर्नेल ही है (यूआई नहीं, लेकिन कोड जो वास्तव में हार्डवेयर, सच्चे ओएस से बात करता है)। इधर, ईमानदारी से बहुत अंतर नहीं है। दोनों कर्नेल को कुछ चीजों को करने के लिए कॉन्फ़िगर किया जा सकता है, जैसे डिस्क कैशिंग / बफरिंग, रीड्स और कथित राइट्स को गति देने के लिए, लेकिन इन कॉन्फ़िगरेशनों में आमतौर पर ओएस की परवाह किए बिना समान ट्रेड-ऑफ होते हैं; उदाहरण के लिए कैशिंग बड़े पैमाने पर नकल / बचत की गति को बढ़ा सकता है, लेकिन यदि आप कैश लिखने के दौरान बिजली खो देते हैं (या यूएसबी ड्राइव को बाहर निकालते हैं), तो आप वास्तव में डिस्क पर नहीं लिखे गए सभी डेटा खो देंगे और संभवतः पहले से लिखे गए भ्रष्ट डेटा को भी खो देंगे। डिस्क के लिए।

एक उदाहरण के रूप में, विंडोज़ और लिनक्स में एक FAT स्वरूपित यूएसबी ड्राइव के लिए बहुत सारी फ़ाइलों की प्रतिलिपि बनाएँ। विंडोज पर लिनक्स पर 10 मिनट लग सकते हैं जबकि 10 सेकंड लगेंगे; फ़ाइलों को कॉपी करने के तुरंत बाद, इसे हटाकर ड्राइव को सुरक्षित रूप से हटा दें। विंडोज पर इसे सिस्टम से तुरंत हटा दिया जाएगा और इस तरह आप ड्राइव को USB पोर्ट से हटा सकते हैं, जबकि लिनक्स पर आपको ड्राइव को हटाने से पहले 10 मिनट लग सकते हैं; यह कैशिंग के कारण है (यानी लिनक्स ने रैम को फाइलें लिखी हैं और फिर उन्हें बैकग्राउंड में डिस्क पर लिखा है, जबकि कैश-लेस विंडोज ने डिस्क को तुरंत फाइल लिखा है)।

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

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

आशा है कि कुछ स्पष्टता जोड़ता है।


मेरी राय में भयानक जवाब और नीचे मतदान। आप उन मतभेदों को पेश कर रहे हैं जहां कोई नहीं है। किसी ने नहीं पूछा कि अलग-अलग विभाजन ड्राइव कैसे प्रदर्शन करते हैं। बेशक "बाकी सब समान होने" का सवाल केंद्र पर है। मैं एक 8 nvme raid0 के लिए किसी भी तरह से एक एफएस चुन सकता हूं, मैं किसी भी तरह से 16 गीगाबाइट प्रति सेकंड की मूल रीड स्पीड के साथ चाहता हूं और फिर भी एक विंडोज फाइल कॉपी किसी भी समय, 1.4-1.5 गीगाबाइट्स में अधिकतम हो जाती है। कैशिंग, एफएस, विभाजन के साथ कुछ नहीं करना है, लेकिन विंडोज़ ओएस की सीमाओं के साथ अधिक है।
मथियास वुल्फ

@Matt आप किस फ़ाइल सिस्टम को प्रारूपित कर रहे हैं कहा RAID सरणी में? यदि यह NTFS है, तो यह धीमा वर्णन कर सकता है .. लेकिन यदि आपके पास प्रदान करने के लिए अधिक जानकारी है, तो आप एक प्रासंगिक उत्तर जोड़ने के लिए स्वतंत्र हैं, खासकर यदि आपके पास कोई स्रोत कोड है (और असेंबली डंप नहीं) कोर विंडोज ओएस के लिए सीधे समझाने के लिए कि धीमा क्यों होता है (मैं एक के लिए विशेष रूप से उस में दिलचस्पी होगी!)।
txtechhelp

मैं ntfs का उपयोग करता हूं, विंडोज़ सर्वर पर fs के रूप में बेहतर विकल्प क्या है?
मथायस वुल्फ

मैंने MSFT से संपर्क किया और कई चर्चाएँ की और कई वर्षों में कई चीजों की कोशिश की और कभी भी इसे 1.5GB / सेकंड से अधिक नहीं मिला, प्रत्येक मशीनों पर 100Gb nics होने के बावजूद और Mellanox प्रोफाइलिंग टूल के अन्य सभी ट्रैफ़िक बताते हैं कि कनेक्ट पूरी तरह से ठीक काम कर रहे हैं 94-95 जीबी / सेकंड थ्रूपुट। लिनक्स मशीनों के बीच कोई मंदी नहीं है, लेकिन जैसे ही एक विंडोज़ ओएस मशीन शामिल होती है मैं उन बाधाओं को देखता हूं
मथायस वुल्फ

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