কীভাবে ডিডি কমান্ডের জন্য সেরা বাইট আকার নির্ধারণ করবেন


21

আমি জানি যে = / dev / hda এর = / dev / hdb একটি ডিডি করা একটি গভীর হার্ড ড্রাইভের অনুলিপি করে। আমি শুনেছি যে লোকেরা "বিএস" বিকল্পের সাহায্যে একসাথে (512) একসাথে পড়া এবং লিখিত বাইট সংখ্যা বাড়িয়ে প্রক্রিয়াটি গতি অর্জন করতে সক্ষম হয়েছে।

আমার প্রশ্নটি হ'ল:

হার্ড ড্রাইভ থেকে অনুলিপি করার জন্য আদর্শ বাইট আকারটি কী নির্ধারণ করে?

এবং

কেন এটি আদর্শ বাইট আকার নির্ধারণ করে?


আমি ভেবেছিলাম যে এটি ড্রাইভ বা পার্টিশনের আকারে পুরোপুরি সমানভাবে বিভক্ত করতে হবে: সুতরাং আমি লক্ষ্য বিভাজনের সঠিক বাইট আকার নির্ধারণ করার জন্য, প্রধান উপাদানগুলি অর্জন করার চেষ্টা করেছি এবং যুক্তিসঙ্গতভাবে বৃহত একটি ব্লক নির্ধারণ করতে চেষ্টা করব যা এর একাধিক এই প্রধান উপাদানগুলির বেশ কয়েকটি ...
পিপি।

উত্তর:


18

যেমন ক্রিস এস বলেছেন যে সর্বোত্তম ব্লকের আকারটি হার্ডওয়্যার নির্ভর। আমার অভিজ্ঞতায় এটি সর্বদা ডিফল্ট 512 বাইটের চেয়ে বড়। যদি আপনার কাঁচা ডিভাইসগুলির সাথে কাজ করে তবে ওভারলিং ফাইল সিস্টেম জ্যামিতির কোনও প্রভাব থাকবে না। আমি নীচের স্ক্রিপ্টটি ডিডি-র ব্লক আকার 'অনুকূলকরণ' করতে সহায়তা করেছি।

#!/bin/bash
#
#create a file to work with
#
echo "creating a file to work with"
dd if=/dev/zero of=/var/tmp/infile count=1175000

for bs in  1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1M 2M 4M 8M 

do
        echo "Testing block size  = $bs"
        dd if=/var/tmp/infile of=/var/tmp/outfile bs=$bs
        echo ""
done
rm /var/tmp/infile /var/tmp/outfile

4
ওএস এক্সে, "1 এম ... 8 এম" "1 মি ... 8 এম" এ ছোট করা উচিত।
ম্যাট বেকম্যান

1
আইওর জন্য অপেক্ষা করতে কতটা সময় ব্যয় করা হয়েছিল এবং কোন পরিমাণটি আসল কাজ ...
অলিভিয়ার ডুলাক

1
@ লাইন /dev/zeroতৈরি করা হয়েছে, এটি ডিস্ক থেকে পড়ার প্রয়োজন নেই; আপনি dd if=/dev/zero ibs=1M count=32 obs=$bs of=/var/tmp/outfileভাল জলপুলি-দুলাককে ভালভাবে এমপি করতে পারেন , ddইতিমধ্যে গতিটি মুদ্রণ করতে পারেন; আমি মনে করি না time(বা /usr/bin/time) কোনও তথ্য যুক্ত করুন।
বুফ

1

দুর্ভাগ্যক্রমে নিখুঁত আকার আপনার সিস্টেম বাস, হার্ড ড্রাইভ নিয়ামক, নির্দিষ্ট ড্রাইভ নিজেই এবং সেইগুলির প্রত্যেকটির জন্য ড্রাইভারের উপর নির্ভর করবে। নিখুঁত আকারটি সন্ধান করার একমাত্র উপায় হ'ল বিভিন্ন আকারের চেষ্টা করা। সুস্পষ্ট সতর্কতা যে কিছু ডিভাইস কেবলমাত্র একটি ব্লকের আকারকে সমর্থন করে যদিও এটি বিরল, এবং সাধারণত চালকরা যেভাবেই পার্থক্য তৈরি করে।

আমি দেখতে পাই যে আমার ডাব্লুডিসি (8 এমবি ক্যাশে) অ্যাডাপ্টেক এসএএস রেড কন্ট্রোলার, 4 এক্স পিসিআই, 64-বিট ফ্রিবিএসডি 8.0-স্ট্যাবলের সাথে সংযুক্ত এসটিএ ড্রাইভের জন্য 2 ^ 15 বা 2 ^ 16 এর ব্লক আকারটি সবচেয়ে ভাল কাজ করে। তবে আমার সস্তা পুরানো থাম্ব ড্রাইভের জন্য, 2 ^ 10 এর আকার দ্রুততম বলে মনে হচ্ছে।

"নিখুঁত আকার" প্রায় সর্বদা দু'জনের শক্তি।


0

যে কোনও সময় নষ্ট করার আগে ডিভাইসটিতে কোনও পরীক্ষা করার ফলাফলটি পরিমাপ করার যোগ্যতাটি আমি প্রমাণ করতে পারি। আমি নির্বুদ্ধিতা বিরক্ত করিনি এবং পরিমাপ করার পরে, তারপর আমার ব্লকের আকার সামঞ্জস্য করে আমার ডিডি সময়কালটি অর্ধেক 590 জিবি স্থানান্তরকে কমে যায়। একই BS মানটি কেবল আলাদা ক্যাডি / ড্রাইভ কম্বো ব্যবহার করে সময়কে 20% কমাতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.