NTFS ความเร็วในการเขียนช้ามาก (<15MB / s) บน Ubuntu


18

เมื่อทำการคัดลอกไฟล์ขนาดใหญ่หรือการทดสอบ writespeed ด้วยddmax writepeed สูงสุดที่ฉันสามารถทำได้คือประมาณ 12-15MB / s ในไดรฟ์ที่ใช้ระบบไฟล์ NTFS ฉันทดสอบไดรฟ์หลายตัว (เชื่อมต่อโดยใช้ SATA) ซึ่งทั้งหมดมีความเร็วในการเขียน 100MB / s + บน Windows หรือเมื่อฟอร์แมตด้วย ext4 ดังนั้นจึงไม่ใช่ปัญหาการจัดตำแหน่งหรือไดรฟ์

topแสดงการใช้งาน cpu สูงสำหรับmount.ntfsกระบวนการ

โปรเซสเซอร์ AMD dual core (2.2 GHz)
รุ่นเคอร์เนล: รุ่น3.5.0-23-generic
Ubuntu 12.04
ntfs-3g: ทั้งสอง2012.1.15AR.1(รุ่นเริ่มต้นของ Ubuntu) และ2013.1.13AR.2

ฉันจะแก้ไขความเร็วในการเขียนได้อย่างไร


คุณได้ลองทดสอบ dd ด้วยการเข้าถึงไดรฟ์ดิบ (บนไดรฟ์หรือพาร์ติชันไม่สำคัญ) โปรดทราบว่าการทดสอบด้วยวิธีนี้จะทำลายระบบไฟล์และจะสูญเสียข้อมูลใด ๆ มันจะข้ามไดรเวอร์ NTFS ทั้งหมด
Bob

149MB/sอ๋อผมก็ไม่ได้ผลที่ได้คือ
Zulakis

เพิ่งจะอยากรู้อยากเห็นฉันต้องถามว่าไดรฟ์นี้เป็นหนึ่งในไดรฟ์ 4k เหล่านั้นหรือไม่และถ้าเป็นเช่นนั้นระบบไฟล์ของคุณอาจไม่ได้จัดแนวอย่างใดเลย!
Waxhead

4
ฉันเชื่อว่า NTFS-3G รุ่นฟรีนั้นพิการดังนั้นจึงใช้การเขียน 4 KiB โดยไม่มีการแคชทำให้ประสิทธิภาพการเขียนช้ามากบน SSD และไดรฟ์ USB บริษัท ที่อยู่เบื้องหลังผู้ขับขี่แนะนำให้ซื้อรุ่นเชิงพาณิชย์เพื่อประสิทธิภาพที่ดีขึ้น เห็นได้ชัดว่าไม่มีใครสนใจพอที่จะแก้ไข (และถ้าจำเป็น) จากโอเพ่นซอร์สเพราะปัญหานี้เกิดขึ้นมาเกือบสิบปีนับตั้งแต่ NTFS-3G เปิดตัวครั้งแรก
Tronic

1
ด้วยแล็ปท็อป Ubuntu 2015.04 เดียวกันฉันได้ฟอร์แมต NTFS ฮาร์ดดิสก์ภายนอก 320GB และแท่ง USB 32GB การคัดลอกภาพขนาด 2GB ไปยังภาพแรกเป็นการถ่ายภาพตลอดไป (เหลือเวลาอีก 6 ชั่วโมงโดยประมาณหลังจาก 30 นาที) แต่ไปที่ภาพที่สอง (อุปกรณ์ USB) มันใช้เวลาเพียงหนึ่งหรือสองนาที ฉันไม่ได้เปลี่ยนการตั้งค่าระหว่างทั้งสอง
Nicolas Raoul

คำตอบ:


18

โพสต์ก่อนหน้านี้อยู่ในเส้นทางที่ถูกต้องพร้อมการอ้างอิงที่ให้ไว้:

อาจตรวจสอบที่นี่เพื่อหาแนวคิดเกี่ยวกับสิ่งที่อาจทำให้เกิด http://www.tuxera.com/community/ntfs-3g-faq/#slow

คำถามเดิมกล่าวถึงการสังเกตเห็นปัญหากับการถ่ายโอนไฟล์ขนาดใหญ่ จากประสบการณ์ของฉันในการคัดลอกไฟล์สื่อหรือสำรองข้อมูลตัวเลือกที่สำคัญในคำถามที่พบบ่อยข้างต้นคือ:

วิธีแก้ปัญหา: การใช้ตัวเลือกเมาท์“ big_writes” โดยทั่วไปจะลดการใช้งาน CPU หากซอฟต์แวร์ที่ขอให้เขียนนั้นรองรับบล็อกขนาดใหญ่

เพียงเพิ่มตัวเลือก big_writes เช่น

sudo mount -o big_writes /media/<mount_dir> /dev/<device>

My Linux NAS ที่มีซีพียูต่ำในขณะนี้จัดการไฟล์ NTFS ขนาดใหญ่เขียนได้เร็วขึ้นประมาณสามเท่า ปรับปรุงจาก ~ 17MB / s เป็น 50MB / s + แม้จะเห็นมันมองที่ประมาณ 90MB / s ใน iotop ซึ่งอาจใกล้ความสามารถของไดรฟ์ภายนอก (HDD 2.5 "USB3 2.5)

จากหน้าคน NTFS-3G:

 big_writes
              This option prevents fuse from splitting write buffers  into  4K
              chunks,  enabling  big  write buffers to be transferred from the
              application in a single step (up to some system limit, generally
              128K bytes).

หมายเหตุการปิด:

  • ตัวเลือก big_writes อาจจะไม่ช่วยมาตรฐานการเขียนแบบสุ่ม 4K ;-)
  • ในขณะที่ Tuxera ดูเหมือนจะจองไดรเวอร์ NTFS pro สำหรับพันธมิตรระบบฝัง Paragon เสนอทางเลือกฟรีสำหรับการใช้งานส่วนตัวไดรเวอร์NTFSเรียกว่าNTFS & HFS สำหรับ Linux 9.0 Expressและรุ่นมืออาชีพ อย่างไรก็ตามฉันไม่รับรองสำหรับผลิตภัณฑ์นี้และเมื่อฉันลองรุ่นก่อนหน้า (v8.5) ฉันไม่สามารถใช้กับ Linux Kernel เวอร์ชันได้ในขณะนั้น

ตัวเลือก big_writes ทำให้ดิสก์ของฉันเปลี่ยนจาก 300kb / s เป็น 35mb / s! ขอบคุณ!
JosFabre

ตัวละคร 10 ตัวสร้างโลกที่แตกต่างขอบคุณมาก!
João Miguel Brandão

big_writesถูกเลิกใช้ในปี 2016 แต่ 3 ปีต่อมา distros บางอย่างจะยังคงใช้รุ่นแม้เก่าของ libfuse
Dmitry Grigoryev

2

อาจตรวจสอบที่นี่เพื่อหาแนวคิดเกี่ยวกับสิ่งที่อาจทำให้เกิด http://www.tuxera.com/community/ntfs-3g-faq/#slow

ฟังดูคล้ายกับ 'old days' เมื่อไฟล์ io ไม่ได้ใช้ DMA เป็นค่าเริ่มต้น วันนี้ไม่น่าเป็นไปได้ แต่ BIOS ใช้การจำลอง IDE สำหรับไดรฟ์ SATA เพราะถ้ามันจำลอง IDE มันก็อาจเลียนแบบโหมดที่ไม่ใช่ DMA ได้เช่นกัน

อีกหนทางที่ช้าลงคือถ้าการบีบอัดไฟล์ ntfs มีการเปิดใช้งานการบีบอัดในโฟลเดอร์ที่คุณกำลังเขียนหรือไม่? ถ้าเป็นเช่นนั้นก็จะทำให้ไฟล์ใหม่ใด ๆ ในโฟลเดอร์นั้นถูกบีบอัดเช่นกัน


ฉันจะทดสอบว่าใช้ DMA ได้อย่างไร นอกเหนือจากนี้ฉันได้ลองใช้คำแนะนำทั้งหมดในหน้านี้แล้ว
Zulakis

อืมจากสิ่งที่ฉันได้อ่าน DMA เกี่ยวข้องกับไดรฟ์ IDE เท่านั้นหรือ ฉันใช้ไดรฟ์ SATA เท่านั้น
Zulakis

ตามen.wikipedia.org/wiki/Serial_ATA#Transport_layerดูเหมือนว่า DMA เป็นตัวเลือกเดียวสำหรับ SATA ช่วยให้ดูว่าประวัติของเขาคือการใช้การจำลอง IDE
BeowulfNode42

0

นี่เป็นเธรดเก่า แต่สำหรับผู้ที่กำลังมองหาวิธีการแก้ปัญหาเดียวกัน: คุณมี cpuspeed ที่ใช้งานอยู่หรือไม่? ntfs-3g เป็น CPU ที่หิวและในกรณีของฉัน cpuspeed ตรวจพบการโหลดที่ไม่ถูกต้องสำหรับกระบวนการที่มี IO จำนวนมากรออยู่ในที่สุดการควบคุมปริมาณลงในแกนกลางและทำให้ผู้ขับขี่อดอยากลง

ลองปิดการใช้งาน cpuspeed (ถ้าเช่นนั้นทำงานเป็นบริการ) และทดสอบอีกครั้ง


ฉันจะทราบได้อย่างไรว่า cpuspeed เปิดใช้งานอยู่ นั่นคือภูตหรือการตั้งค่าหรือไม่?
Daniel

0

big_writesถูกเลิกในปี 2016 พฤติกรรมที่สอดคล้องกันจะเปิดใช้งานเสมอเมื่อใช้libfuseเวอร์ชัน 3.0.0 หรือในภายหลัง บนระบบ Linux ที่ทันสมัยประสิทธิภาพของ NTFS ที่แย่มักจะหมายความว่า:

  • ดิสก์มีการแยกส่วน
  • เปิดใช้งานการบีบอัดดิสก์ NTFS
  • ตัวเลือกการเมาท์ไม่เพียงพอเช่นsyncมีการใช้งาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.