เทียบเท่ากับ `ดี 'สำหรับระบบไฟล์ IO หรือไม่


11

เมื่อฉันใช้rsyncงานสำรองซึ่งเกี่ยวข้องกับการคัดลอกไฟล์ขนาดใหญ่เครื่องที่ทำงานการสำรองข้อมูล (ทั้งเครื่องเดสก์ท็อป Mac และเซิร์ฟเวอร์ Linux) จะหยุดทำงานและหยุดการโหลดเฉลี่ยโดยเฉลี่ย

ฉันพยายามแล้ว:

  • niceไอเอ็นจีrsyncกระบวนการ (ไม่ช่วย - คอขวดคือดิสก์)
  • บน Linux reniceอิงkjournald(ช่วย แต่ดูเหมือนว่าแฮ็คและไม่ทำงานบน Mac)
  • การใช้การ--bwlimit rsyncตั้งค่าสถานะ (ช่วย แต่มันหมายถึงการถ่ายโอนทั้งหมดช้า - แม้ว่าพวกเขาไม่จำเป็นต้องเป็น)

ดังนั้นมีวิธีใดบ้างที่ฉันสามารถใช้IO nice"" rsyncเพื่อให้เครื่องใช้ในขณะที่กำลังสำรองข้อมูลได้

PS: ฉันตระหนักถึงอันตรายของrsyncการใช้ Mac ... แต่ฉันใช้BackupBouncerเพื่อตรวจสอบการสำรองข้อมูลของฉัน

คำตอบ:


7

ดูเหมือนว่าsetpriorityAPI บน Mac OS X น่าจะสามารถแก้ไขการตั้งเวลา IO ได้ (ดูhttp://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/setpriority.2.html ) . ฉันไม่มี MacOS ใด ๆ จึงไม่สามารถทดสอบได้ว่าniceจะเปลี่ยนลำดับความสำคัญของ IO

ทางด้าน Linux ioniceคือสิ่งที่คุณกำลังมองหา


1
อ่าขอบคุณ นี่คือสิ่งที่setprioritymanpage พูดว่า: "เมื่อตั้งค่าเธรดเป็นสถานะพื้นหลังลำดับความสำคัญของการกำหนดเวลาถูกตั้งค่าไว้ที่ค่าต่ำสุดดิสก์และเครือข่าย IO จะถูกควบคุมปริมาณ" - ซึ่งดูเหมือนว่าจะระบุว่าดิสก์ / เครือข่าย IO นั้นควบคุมปริมาณได้เฉพาะเมื่อมีบางสิ่งบางอย่างถูกลดระดับลงเหลือ 20 ("สถานะพื้นหลัง")
David Wolever

2
การทดสอบอย่างรวดเร็วบางอย่างดูเหมือนจะยืนยันสิ่งนี้ - เมื่อสคริปต์สำรองมีเพียง 10 ตัวเท่านั้น (เช่นnice backup) ฉันสังเกตเห็นการชะลอตัว ... แต่เมื่อมันลดลงเหลือ 20 (เช่นnice -n 20 backup) ฉันไม่เห็นการชะลอตัวใด ๆ
David Wolever

(และโดย "สังเกตเห็นการชะลอตัว" ฉันหมายถึง "สังเกตว่าโปรแกรมแบบโต้ตอบที่ทำงานบนคอมพิวเตอร์ไม่ตอบสนองเร็วเท่าที่พวกเขาทำตามปกติ")
David Wolever

1
เป็นเรื่องน่าผิดหวังเล็กน้อยที่คุณได้รับการควบคุมปริมาณด้วยลำดับความสำคัญที่ 20 เท่านั้น
Evan Anderson

+1, คำตอบที่ดี สงสัยอยู่เสมอเกี่ยวกับ twiddling IO
Avery Payne

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