ฉันจะเรียกใช้ dd เร็วที่สุดได้อย่างไร


3

ฉันกำลังเรียนรู้bashและอะไรที่ทำให้เกิดความสับสนในหลายวิธีมีหลายวิธีในการเขียนไดรฟ์หรือถ่ายโอนข้อมูลจาก / ไปยังหนึ่ง ( shredเทียบddกับpvvs catvs teeและอื่น ๆ ) ฉันจมอยู่แล้ว

สำหรับตอนนี้ฉันเลือกอย่างไม่เต็มใจddเนื่องจากดูเหมือนว่าจะมีตัวเลือกบรรทัดคำสั่งที่ดีที่สุดสำหรับทั้งสองการใช้งาน ระบุว่าฉันต้องการให้แน่ใจว่าฉันใช้มันอย่างมีประสิทธิภาพที่สุด

ฉันเข้าใจว่าโดยค่าเริ่มต้นddจะรันด้วยขนาดบล็อก 512 ไบต์และการเพิ่มขนาดนี้จะเป็นดังนี้:

dd if=/dev/zero of=/dev/sdX bs=3M status=progress

... จะทำให้มันเขียนบล็อกที่ใหญ่ขึ้นและทำเวลาน้อยลงดังนั้นจึงทำให้ทำงานได้เร็วขึ้น

แต่ถ้าเพียงตั้งขนาดบล็อกที่ใหญ่กว่าจะทำให้คำสั่งทำงานได้เร็วขึ้นสิ่งใดที่ทำให้ฉันbs=3Gไม่สามารถใช้งานได้ มีข้อเสียอะไรบ้างถ้ามี? ขนาดบล็อกที่ดีที่สุดของ Linux superusers จะแนะนำให้ใช้คืออะไร?


3
การมีขนาดบล็อกที่ใหญ่กว่านั้นไม่ใช่คำตอบขนาดบล็อกที่มีประสิทธิภาพที่สุดสามารถทำได้โดยฮาร์ดแวร์, RAM, โปรเซสเซอร์, แอปพลิเคชั่นอื่น ๆ ฯลฯ มีบทความและสคริปต์สำหรับการทดสอบ / ค้นหาชุดค่าผสมที่เหมาะสมที่ไหนสักแห่งฉันจะ ดูว่าฉันสามารถหาลิงค์
acejavelin

4
อ่า ... นี่คือ ... ไม่ใช่คำตอบจริงๆ แต่มันอาจทำให้คุณถูกทาง ... blog.tdg5.com/tuning-dd-block-size
acejavelin

@Vlastimil: จริงๆมันทำให้ไม่แตกต่างถ้าคุณใช้dd, pvหรือcpพวกเขาทั้งหมดวิ่งเร็วที่สุดเท่าที่จะช่วยให้ฮาร์ดแวร์ และโปรดอย่ากระจายเรื่องไร้สาระเช่น "dd is ล้าสมัยสำหรับ disk zeroing": ddเป็นเครื่องมือเฉพาะที่มีการใช้งานเฉพาะและในขณะที่เก่า "ล้าสมัย" ไม่มีส่วนเกี่ยวข้องกับสิ่งนี้ คุณใช้เครื่องมือใดก็ได้ที่ทำงานได้ดีที่สุดในสถานการณ์ของคุณ
dirkt

"ด้วยความสับสนรอบหลายหลายวิธีมี ... " - คุณอาจพบว่าคำถามนี้น่าสนใจ: อะไรคือความแตกต่างระหว่าง dd และ cat สำหรับการเขียนไฟล์ภาพ?
Kamil Maciorowski

คำตอบ:


-1

เครื่องมือที่เรียกว่าhdparmอาจเป็นสิ่งที่คุณสามารถตรวจสอบได้ มันเป็นเครื่องมือระดับต่ำมากและมีตัวเลือกที่อาจเป็นอันตราย นี่คือman page สำหรับเครื่องมือ มันทรงพลังดังนั้นใช้มันในความเสี่ยงของคุณเอง เครื่องมือนี้อาจใช้การเขียนแบบศูนย์โดยเร็วที่สุด


คุณมีแหล่งข้อมูลหรือเหตุผลในการยืนยันข้อเรียกร้องที่hdparmจะเป็นเครื่องมือที่เร็วกว่าสิ่งที่กล่าวถึงในคำถามของฉันหรือไม่?
Hashim

ตรวจสอบลิงก์ที่ฉันเพิ่มเพื่อดูเอกสารประกอบของเครื่องมือ วิธีเดียวที่ฉันรู้สำหรับการทดสอบความเร็วและเวลาสำหรับการเขียนค่าศูนย์คือการใช้เครื่องมือต่าง ๆ ในการทดสอบ HDD เดียวกันและการใช้timeคำสั่งเพื่อดูเวลาการทำงาน คำสีน้ำเงินในคำตอบของฉันคือลิงก์ไปยังข้อมูลเกี่ยวกับเครื่องมือ จากสิ่งที่ฉันสามารถบอกได้มันเขียนไว้ในแอสเซมเบลอร์ซึ่งจะเป็นการดำเนินการที่เร็วที่สุด ขั้นตอนต่อไปคือ C / C ++ คุณแค่ต้องทดสอบเครื่องมือต่าง ๆ
Yokai
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.