Số lượng tệp tối đa mà một hệ thống tệp có thể chứa là bao nhiêu?


34

Với cấu trúc hiện tại của một mục nhập thư mục trên hệ thống tệp ext4 trên Ubuntu, số lượng tệp tối đa mà hệ thống tệp có thể chứa là bao nhiêu?

Phương pháp chung để tính số lượng tệp tối đa mà hệ thống tệp có thể chứa là gì?

Câu trả lời:


37

Ext4 có giới hạn lý thuyết là 4 tỷ tệp, bị giới hạn bởi kích thước của số inode mà nó sử dụng để xác định từng tệp (ext4 sử dụng số inode 32 bit). Tuy nhiên, như John nói, ext4 phân bổ các bảng inode tĩnh, do đó giới hạn thực tế được đặt khi hệ thống tệp được tạo.

Lệnh df hiển thị cho bạn số lượng nút miễn phí trên hệ thống tệp của bạn:

$ df -i

Filesystem        iused     ifree  %iused  Mounted on
/dev/disk0s3   55253386  66810480    45%   /
/dev/disk1s3   55258045  66805821    45%   /Volumes/Clone

Ext4 cũng hỗ trợ số lượng thư mục con không giới hạn cho mỗi thư mục, mặc dù nó có thể mặc định ở giới hạn 64.000. Đây là cấu hình - xem bài viết ext4 tại Kernel Newners .

Để biết thêm thông tin, hãy xem Hệ thống tập tin ext4 mới: trạng thái hiện tại và các kế hoạch trong tương lai từ Hội nghị chuyên đề Linux 2007.


9

Không có ai, mỗi người; nó phụ thuộc Khi bạn tạo một hệ thống tệp ext4, bạn quyết định kích thước của bảng inode , điều này sẽ chi phối tổng số thư mục hoặc tệp mà hệ thống tệp có thể giữ cùng một lúc.


8
bạn có thể chạy tune2fs -l /path/to/devicevà tìm giá trị số Inode để tìm giới hạn cho một hệ thống tệp nhất định

1
Chúng ta có thể tăng số lượng Inode không? Theo như tôi biết, các nút được lưu trữ dưới dạng một danh sách được liên kết, vì vậy nó giống như việc thêm nhiều nút vào danh sách được liên kết. Tôi đoán, câu hỏi rút ra những gì có thể là độ dài tối đa của một danh sách được liên kết?

4
Trong ext4, bảng inode được phân bổ tĩnh khi hệ thống tập tin được tạo. Cách duy nhất để tăng nó là tạo lại hệ thống tập tin. Các tùy chọn -N hoặc -i được sử dụng để đặt số lượng nút được tạo.

1
Cũng cần lưu ý rằng các thư mục là các tập tin và phải được tính như vậy.
dmckee

1
Như là liên kết tượng trưng. Tôi không chắc liệu các thiết bị, FIFO và socket có được tính hay không.
ephemient

1

Không phải Ubuntu, nhưng trên Redhat các lệnh cơ bản của Linux như find fail với 'Lỗi quá nhiều đối số' khi chạy với thư mục chứa 3 triệu tệp. ls chạy thành công nếu không có tham số nào được đưa vào, nhưng không thành công với cùng một lỗi ngay khi các tham số bộ lọc được thêm vào.

Giả sử độ tin cậy của các lệnh cơ bản như vậy là một yêu cầu bắt buộc tôi muốn đề xuất rằng 3 triệu tệp là quá nhiều.


3
Đó không phải là một hạn chế hệ thống tập tin mặc dù.
user9517 hỗ trợ GoFundMonica

1
Điểm tốt! FS có thể hỗ trợ nó nhưng các công cụ sẽ ngày càng khó xử lý hơn.
Csaba Toth
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.