เมื่อพิจารณาโครงสร้างปัจจุบันของรายการไดเรกทอรีในระบบไฟล์ ext4 บน Ubuntu จำนวนไฟล์สูงสุดที่ระบบไฟล์สามารถมีได้คือเท่าใด
อะไรคือวิธีการทั่วไปในการคำนวณจำนวนไฟล์สูงสุดที่ระบบไฟล์สามารถมีได้?
เมื่อพิจารณาโครงสร้างปัจจุบันของรายการไดเรกทอรีในระบบไฟล์ ext4 บน Ubuntu จำนวนไฟล์สูงสุดที่ระบบไฟล์สามารถมีได้คือเท่าใด
อะไรคือวิธีการทั่วไปในการคำนวณจำนวนไฟล์สูงสุดที่ระบบไฟล์สามารถมีได้?
คำตอบ:
Ext4 มีข้อ จำกัด ทางทฤษฎีจำนวน 4 พันล้านไฟล์ซึ่งถูก จำกัด โดยขนาดของหมายเลขไอโหนดที่ใช้เพื่อระบุแต่ละไฟล์ (ext4 ใช้หมายเลขไอโหนด 32- บิต) อย่างไรก็ตามตามที่ John กล่าว ext4 จะจัดสรรตาราง inode แบบคงที่ดังนั้นขีด จำกัด ที่แท้จริงจะถูกตั้งค่าเมื่อสร้างระบบไฟล์
คำสั่ง df แสดงจำนวน inodes ฟรีบนระบบไฟล์ของคุณ:
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
Ext4 ยังรองรับไดเรกทอรีย่อยได้ไม่ จำกัด จำนวนต่อไดเรกทอรีแม้ว่ามันจะเป็นค่าเริ่มต้นถึงขีด จำกัด 64,000 นี่คือที่กำหนด - ดูบทความ ext4 ที่เคอร์เนล Newbies
สำหรับข้อมูลเพิ่มเติมโปรดดูระบบไฟล์ ext4 ใหม่: สถานะปัจจุบันและแผนในอนาคตจาก 2007 Linux Symposium
ไม่มีอย่างใดอย่างหนึ่งต่อ se; มันขึ้นอยู่กับ. เมื่อคุณสร้างระบบไฟล์ ext4 คุณจะตัดสินใจขนาดของตาราง inodeซึ่งจะควบคุมจำนวนไดเรกทอรีหรือไฟล์ทั้งหมดที่ระบบไฟล์สามารถเก็บได้ในคราวเดียว
ไม่ใช่ Ubuntu แต่ใช้คำสั่งพื้นฐาน Redhat Linux เช่นการค้นหาล้มเหลวด้วย 'ข้อผิดพลาดการขัดแย้งมากเกินไป' เมื่อเรียกใช้กับไดเรกทอรีที่มีไฟล์ 3 ล้านไฟล์ ls ทำงานได้สำเร็จหากไม่มีพารามิเตอร์รวมอยู่ แต่ล้มเหลวด้วยข้อผิดพลาดเดียวกันทันทีที่เพิ่มพารามิเตอร์ตัวกรอง
สมมติว่าความน่าเชื่อถือของคำสั่งพื้นฐานดังกล่าวเป็นข้อกำหนดบังคับฉันขอแนะนำให้ 3 ล้านไฟล์มีจำนวนมากเกินไป
tune2fs -l /path/to/device
และค้นหาค่าการนับ Inode เพื่อค้นหาว่าขีด จำกัด ของระบบไฟล์ที่กำหนดคืออะไร