ฉันมีอุปกรณ์ฝังตัวเล็ก ๆ ที่มี RAM เพียง 128MB
เชื่อมต่อกับอุปกรณ์นี้เป็นฮาร์ดดิสก์ 2TB USB2
ฉันมีความสุขมากกับประสิทธิภาพของอุปกรณ์จนถึงเมื่อเร็ว ๆ นี้เมื่อจำนวนไฟล์ข้ามขีด จำกัด ของความจุของดิสก์มีขีด จำกัด (ฉันไม่แน่ใจว่าอันไหน)
บนดิสก์มีไฟล์ขนาดเล็กจำนวนมากเนื่องจากลักษณะของไฟล์แอปพลิเคชั่นการเขียนที่ได้รับการจัดระเบียบอย่างสมดุล - ไม่มีไดเร็กทอรี leaf node มีมากกว่า 200 ไฟล์และมีเพียง 800,000 ไฟล์
ฉันหวังว่าจะเป็นผู้นำในการตรวจสอบ ประสิทธิภาพการทำงานของดิสก์ลดลงอย่างมีนัยสำคัญอุปกรณ์ได้รับการซิปได้เป็นอย่างดีจากนั้นประสิทธิภาพในทันทีก็ลดลงราวกับก้อนหิน
ข้อสันนิษฐานของฉันคือโครงสร้างองค์กรที่ฉันเลือกบนดิสก์สำหรับไฟล์ของฉันได้ทำลายความสามารถในการแคชของ inode เพื่อรักษาความเป็น zippy
เป็นการทดลองฉันยกเลิกการต่อดิสก์ (ล้างแคชยืนยันด้วยฟรี) จากพรอมต์คำสั่งฉันสำรวจลึกเข้าไปในโครงสร้างไดเรกทอรี ทั้งหมดบอกไดเรกทอรีนี้ (และลูก ๆ ) มีเพียงประมาณ 3200 ไฟล์ที่อยู่ด้านล่างและ ณ จุดนี้ 'ฟรี' แสดงให้เห็น> หน่วยความจำว่าง 117MB
ณ จุดนี้ฉันพิมพ์คำสั่ง 'ค้นหา' ตามด้วย 'ฟรี'
'find' แสดงประมาณ 3000 ไฟล์ แต่การใช้หน่วยความจำเริ่มจาก ~ 117MB ถึง ~ 2MB
ฉันเข้าใจยอดคงเหลือของแคชเทียบกับหน่วยความจำฟรีและวิธีที่เคอร์เนลพิจารณาหน้าที่ว่างเปล่าหน้าไม่ดี - อย่างไรก็ตามเนื้อหาที่แคชไว้ 115MB จากไดเรกทอรี 3000 ไฟล์ชี้ไปที่ช่องว่างที่ร้ายแรงในความเข้าใจของฉัน ฉันหวังว่าบางคนจะช่วยให้ฉันเข้าใจว่าเกิดอะไรขึ้น
ฉันจะถือว่าทรีที่สมดุลเป็นวิธีที่จะมีไฟล์จำนวนมากได้หรือไม่?