2011-10-11 3 views
22

Tôi tự hỏi về số lượng tệp tối đa có thể có mặt trong một thư mục duy nhất, trong các hệ thống tệp được sử dụng bởi tất cả các hệ điều hành phổ biến được đề cập. Tôi cần thông tin này để quyết định mẫu số chung thấp nhất, để thư mục tôi đang xây dựng có thể được mở và truy cập trong bất kỳ hệ điều hành nào.Số tệp tối đa có thể được lưu giữ trong một thư mục duy nhất, trên hệ thống tập tin Win7/Mac OS X/Ubuntu là gì?

Trả lời

27

Trong Windows (giả sử NTFS): 4294967295 file

Trong Linux (giả sử ext4): also 4 billion files (nhưng nó có thể ít hơn với một số bảng tùy chỉnh inode)

Trong Mac OS X (giả sử HFS): 2.1 billion

Nhưng tôi đã đặt khoảng 65000 tệp vào một thư mục duy nhất và tôi phải nói chỉ việc tải danh sách tệp có thể giết chết một PC trung bình.

+3

Đối với * một số * kịch bản bạn nhận được hiệu suất cao hơn khi bạn giữ tất cả các tệp trong một thư mục (điều này đã được đo trên NTFS với 400K tệp trong thư mục) . Những tình huống này bao gồm các máy chủ khác nhau mà đọc thư mục chỉ một lần và sau đó chỉ cần mở và hiếm khi tạo tệp mới. Sau đó, hoạt động mở nhanh hơn trên một thư mục hơn với các thư mục con. –

+0

Tôi chỉ tò mò, không thể nhanh hơn nếu nội dung của những tệp đó được đưa vào một tệp cơ sở dữ liệu duy nhất? – ytg

+1

rất có thể không - DBMS bổ sung thêm một lớp truyền dữ liệu bổ sung. DBMS thường không phù hợp với số lượng lớn các BLOB lớn. –

-1

Từ những gì tôi biết cho Windows 7, bạn có thể có số lượng tệp không giới hạn trên mỗi thư mục. NHƯNG các tập tin bạn có trên một khối lượng, tồi tệ hơn hiệu suất sẽ được cho khối lượng đó.

3

Hầu hết các hệ điều hành hiện đại không có giới hạn trên hoặc giới hạn trên cao. Tuy nhiên, hiệu suất thường bắt đầu suy giảm khi bạn có thứ gì đó theo thứ tự 10.000 tệp; bạn nên chia thư mục của mình thành nhiều thư mục con trước thời điểm này.

+2

Hầu như tất cả FS đều có giới hạn trên, thường là số lượng tệp tối đa cho FS mặc dù các tệp này có thể cao một cách lố bịch. ZFS cho phép tối đa là 2^48 tệp, cho ext2/3 là 2^32 và Btrfs có tối đa là 2^64. Tôi đoán một cần phải trừ 1 từ tất cả những điều này cho thư mục gốc ;-) – DarkDust

17

Điều này phụ thuộc vào hệ thống tệp. Mẫu số chung thấp nhất có thể là FAT32 chỉ cho phép 65.534 tệp trong một thư mục.

Đây là những số liệu mà tôi có thể tìm thấy:

  • FAT16 (định dạng cũ, có thể được bỏ qua): 512
  • FAT32 (vẫn còn sử dụng rất nhiều, đặc biệt là trên phương tiện truyền thông bên ngoài): 65.534
  • NTFS : 4.294.967.295
  • ext2/ext3 (Linux): Phụ thuộc vào cấu hình lúc định dạng, lên đến 4.294.967.295
  • HFS + (Mac): "up to 2.1 billion"