मैं मैकबुक प्रो पर एसडी कार्ड लेखन की गति (/ dev / डिस्क का उपयोग करके) कैसे गति कर सकता हूं?


17

मैं अपने मैकबुक से एसडी कार्ड पर कुछ लिनक्स वितरण स्थापित कर रहा हूं, हालांकि कुछ सौ एमबी (उपयोग करने ddऔर /dev/disk1) को स्थानांतरित करने के लिए उन्हें एक घंटे से अधिक का समय लगता है ।

dd आउटपुट

यदि आप उपरोक्त आउटपुट को देखते हैं तो यह लगभग 0.31 एमबी / एस पर काम कर रहा है! एसडी कार्ड एक कक्षा 10 है, और मेरा मैकबुक प्रो 2.66 गीगाहर्ट्ज इंटेल कोर 2 डुओ, 4 जीबी 1067 मेगाहर्ट्ज डीडीआर 3, और ओएस एक्स लायन 10.7.4 है। यहाँ कार्ड रीडर के लिए हार्डवेयर रिपोर्ट दी गई है:

एसडी कार्ड रीडर में निर्मित:

विक्रेता ID: 0x05ac
उत्पाद ID: 0x8403
संशोधन: 1.00 सीरियल नंबर: 9833

SDHC कार्ड:

क्षमता: 7.97 GB (7,969,177,600 बाइट्स)
हटाने योग्य मीडिया: हाँ BSD नाम: disk1
विभाजन मानचित्र प्रकार: MBR (मास्टर बूट रिकॉर्ड)
स्मार्ट स्थिति: समर्थित
वॉल्यूम नहीं :

PI:
क्षमता: 7.96 GB (7,964,983,296 बाइट्स)
फाइल सिस्टम: MS-DOS
BSD नाम: disk1s1
सामग्री: DOS_FAT_32

किसी भी विचार क्यों स्थानांतरण /dev/disk1इतना धीमा है और मैं इसे कैसे गति दे सकता हूं?


मेरे लिए एक हार्डवेयर समस्या की तरह लगता है। मैंने सुना है 2011 एमबीपीएस में एक बुरा एसडी रीडर है, लेकिन पहले वाले लोगों के साथ भी समस्या हो सकती है। दूसरे एसडी कार्ड का प्रयास करें, लेकिन यह कार्ड रीडर के साथ एक समस्या हो सकती है, जो दुर्भाग्य से अधिकांश एमबीपी में लॉजिक बोर्ड से जुड़ा हुआ है।
लुटेराथर्स

मैंने 2009 में लैपटॉप खरीदा था, फेडोरा अब 2 घंटे से कॉपी कर रहा है और मैंने छोड़ दिया है। नया कार्ड रीडर समय मुझे लगता है।
StuR

दिलचस्प बात यह है कि यदि आप फाइंडर या डिस्क-यूटिलिटी का उपयोग करते हैं तो अनुक्रमिक डेटा-दर बहुत अधिक है क्योंकि अपराधी को / देव / डिस्क की बफरिंग लगती है जैसा कि @pci के उत्तर में समझाया गया है
iolsmit

जवाबों:


38

बस उसी समस्या में भाग गया और ऐसा लगता है कि /dev/disk*यह धीमा है क्योंकि यह बफर है। यदि आप संबंधित rdisk डिवाइस (उदा:) का उपयोग करते हैं, तो आपको /dev/rdisk1s1वह गति मिलनी चाहिए जिसकी आप अपेक्षा करते हैं। यह जाहिर तौर पर बीएसडी की बात है।

उदाहरण:

% sudo dd if=pi.bin of=/dev/disk1 bs=1m count=4095
^C408+0 records in
407+0 records out
426770432 bytes transferred in 1393.452305 secs (306268 bytes/sec)

% sudo dd if=pi.bin of=/dev/rdisk1 bs=1m count=4095
4095+0 records in
4095+0 records out
4293918720 bytes transferred in 378.669512 secs (11339489 bytes/sec)

संदर्भ:


1
यह सबसे अच्छा उत्तर है जो मुझे इस प्रश्न से मिला है क्योंकि मैं परिणामों की पुष्टि करने में सक्षम था। ~ १.३५ एमबी / सेकंड से २० एमबी / सेकंड तक चला गया
नेसेंस

1
यह निश्चित रूप से एक शर्म की बात है (Apple / BSD के लिए) - हालाँकि, dd का उपयोग आपको सबसे अच्छा संभव प्रदर्शन दे रहा है क्योंकि आपके पास एक लंबा लेखन (या पढ़ने) का उपयोग है; फ़ाइल स्तर पर और रैंडम एक्सेस के साथ आपका प्रदर्शन एसडी-कार्ड के आधार पर बहुत भिन्न होगा - और: उत्कृष्ट खोज @pci!
इलोस्मित

2
इसकी एक लंबी कहानी है, लेकिन आपने मुझे $ 90 मूल्य के सामन बचाए हैं जो कि खराब हो जा रहे थे अगर मैं समय पर मेरे धूम्रपान करने वाले को ठीक नहीं कर सकता था।
डेवीडब

3
हास्यास्पद की तरह आप हजारों से अधिक 20 + एमबीपीएस पर एक फ़ाइल कैसे डाउनलोड कर सकते हैं, और पिछले कुछ मीटर यह वायरलेस है। लेकिन एक हार्ड कनेक्शन पर कुछ सेंटीमीटर डेटा स्थानांतरित करना बहुत धीमा है।
जोनाथन।

धन्यवाद। मैं ~ 10 घंटे से अधिक 7GB डेटा की प्रतिलिपि देख रहा था जब मैंने फैसला किया कि यह स्वीकार्य नहीं है और यह उत्तर मिला - बहुत उपयोगी।
बराक

3

यह अच्छी तरह से हो सकता है कि एसडी-कार्ड वह धीमा है।

इस बेंचमार्क (रैंडम राइट, 4 KB (QD = 1) [MB / s]) पर एक नज़र डालें और आप देखेंगे कि अधिकांश एसडी-कार्ड में छोटी फ़ाइलों के लिए एक घटिया लेखन प्रदर्शन (100 kB / s से नीचे) है - और a ठेठ लिनक्स इंस्टॉलेशन में बहुत सारी छोटी फाइलें होती हैं जिन्हें डिस्क पर लिखा जाता है।

आंतरिक कार्ड-रीडर को कम से कम 20 एमबी / एस पढ़ने / लिखने में सक्षम होना चाहिए - यह बहुत संभावना नहीं है कि एक और कार्ड-रीडर इस बहुत ही एसडी-कार्ड के साथ आपके अनुभव में सुधार करेगा।

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


1
डाउन-वोटर के लिए, इस पोस्ट को
iolsmit

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

पूरे एसडी कार्ड बहुत तेज नहीं हैं, गति (328198 बाइट्स / सेक और बाद में 288881 बाइट्स / सेकंड) आज के एसडी कार्ड के लिए अकल्पनीय नहीं है (फ्लॉपी ड्राइव की तरह अधिक लगता है)। चूँकि यह 'dd' है, इसका अर्थ है एक ही फाइल - एक से अधिक छोटी फाइलें नहीं।
बराक

1

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


1
के अनुसार man mount, async पहले से ही डिफ़ॉल्ट है।
nohillside

1

नहीं, यह मैक ओएस के साथ स्पष्ट रूप से कुछ मुद्दा है। जब मैं एक ही मैकिन्टोश पर चलने वाली वर्चुअल मशीन पर लिनक्स का उपयोग करके ऐसा ही ऑपरेशन करता हूं तो मुझे काफी तेज प्रदर्शन मिलता है। यानी, वीएम देशी ओएस की तुलना में लगभग 5 गुना तेज है।

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