ลินุกซ์; Stripe_cache_size คืออะไรและทำหน้าที่อะไร


10

ขณะนี้ฉันกำลังสร้างซอฟต์แวร์ RAID ภายใต้ Linux โดยใช้mdadmยูทิลิตี้และฉันได้อ่านบทความสองสามข้อที่อธิบายถึงวิธีการเพิ่มค่า strip_cache_size สำหรับ RAID นั้นและวิธีการคำนวณค่าที่เหมาะสมสำหรับ Stripe_cache_size

ฉันเพิ่มฉันเป็น 16384 และอัตราการซิงค์ปัจจุบันของฉันใน RAID5 ใหม่ใน / proc / mdstat เพิ่มขึ้นจาก 71065K / วินาทีเป็น 143690K / วินาที (สองเท่า!) ซึ่งเป็นข่าวดี ฉันเห็นการจับคู่และการเพิ่มขึ้นของการใช้ RAM ที่คาดหวัง แต่ฉันไม่พบเอกสารใด ๆ เกี่ยวกับการตั้งค่านี้และวิธีการทำงาน

ดูเหมือนว่าจะเป็นแคชบางประเภทสำหรับ RAID ที่มีอยู่ใน RAM นั่นคือทั้งหมดที่ฉันสามารถบอกได้จากชื่อและเอฟเฟกต์ที่เห็นโดยการเปลี่ยนมัน มีเอกสาร "Linux" อย่างเป็นทางการสำหรับการตั้งค่าและคำอธิบายนี้หรือไม่?

คำตอบ:


6

จากความเข้าใจของฉัน stipe_cache_size เป็นจำนวนรายการสตริปในแถบแคช รายการสไทรพ์แตกต่างกันไปในแต่ละระบบ แต่ส่วนใหญ่ถูกควบคุมโดยขนาดหน้า (ค่าเริ่มต้นคือ 4096 ไบต์บนระบบลินุกซ์) ( https://github.com/torvalds/linux/blob/master/drivers/md/raid5.c # L73ไฟล์นี้มีตรรกะทั้งหมดของแถบแคชหากคุณต้องการเจาะลึกลงไป) ในดิสก์ RAID5 4 ตัว Stripe_cache_size ขนาด 32768 จะเสีย RAM 512MB เท่าที่ฉันรู้ว่ามันส่งผลกระทบต่อ raid5 เท่านั้น

นี่คือเอกสารอ้างอิง 2 ฉบับ: - https://github.com/torvalds/linux/blob/master/Documentation/md.txt#L603 - https://raid.wiki.kernel.org/index.php/Performance#Some_problem_solving_for_benchmarking


1
จำนวนรายการอะไรคำตอบของคุณค่อนข้างคลุมเครือเล็กน้อย? :)
jwbensley

ฉันคิดว่ามันใช้กับ RAID6 ด้วย
MrCalvin

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