Thuật toán sao chép tệp Linux (Ubuntu) có tốt hơn Windows 7 không?


13

Windows Copying là một mớ hỗn độn thực sự kể từ Windows Vista. Ngay cả Microsoft tuyên bố họ đã cải thiện hiệu suất, từ góc độ người dùng, nó không hoàn toàn hiển thị. Ngay cả với một tệp duy nhất, cửa sổ sao chép xuất hiện quá nhiều thời gian để 'Tính toán' và sau đó hoàn tất bản sao (Ngay cả sau khi hoàn thành 100% một số lần, hộp thoại vẫn hoạt động).

Đồng thời, tôi đã sao lưu một số tệp trong Ubuntu Linux. Tôi cảm thấy nó rất nhanh. Có thể là một cảm giác gây ra bởi cập nhật giao diện người dùng nhanh hơn.

Tôi đã đọc một bài viết thông tin từ Jeff Atwood vài năm trước về Sao chép tệp Windows . nhưng những câu hỏi cụ thể của tôi là gì

  • Hiệu suất tệp Linux (Ubuntu) có tốt hơn Windows-7 không?
  • Có phải cả hai thuật toán, Windows và Linux đang sử dụng nhiều luồng và cơ chế đường ống để cải thiện tốc độ? Nếu có, cái nào tốt hơn?

3
Trong Windows sử dụng xcopy, hoặc thậm chí robocopy. Tốt hơn nhiều. Ví dụ, với cái sau bạn có thể thực hiện hai lần, trước tiên để tạo tất cả các thư mục nhưng không sao chép bất kỳ tệp nào và thứ hai để sao chép các tệp thực tế, do đó không gây ra sự phân mảnh trên mục tiêu.
Kerrek SB

1
Hoặc RichCopy ( blog.technet.com/b/kentải xuống )
sehe

Cũng phụ thuộc vào hệ thống tập tin - hệ thống của bạn có lẽ đang sử dụng một cái gì đó giống như ext3/4, cạnh tranh với NTFS ở đây. Bạn cũng có thể thử reiserfsxfs- cả hai đều được tối ưu hóa cho các hoạt động nhanh với các tệp nhỏ.
new123456

@KerrekSB, xin vui lòng bình luận của bạn một câu trả lời để tôi có thể nâng cao nó. (Tôi đã chỉ +1 bình luận, nhưng bạn biết ý tôi là gì.) Đó là câu trả lời.
CarlF

Cần lưu ý (mặc dù 8 năm sau!) Rằng Robocopy / CREATE, mặc dù rất hữu ích để sao chép cấu trúc thư mục hoàn chỉnh với các tệp trống, nhưng bản thân nó không ngăn chặn sự phân mảnh các tệp trên mục tiêu. Cấu trúc được tạo trong MFT, nhưng sau đó nội dung của tệp có thể được ghi lại ở bất cứ đâu. Thông thường ngay cả trong một lần chạy nếu Robocopy đang chạy đơn luồng và sao chép một tệp tại một thời điểm, dù sao cũng không có phân mảnh (và chạy đa luồng là một ý tưởng tồi vì nó làm giảm nghiêm trọng hiệu suất trên bản sao ổ cứng sang ổ cứng, kể từ khi ổ đĩa cơ phải mài giũa nhiều hơn nữa).
GabrielB

Câu trả lời:


6

copyTích hợp chuẩn trong Windows không tốt lắm, nhưng Windows đi kèm với hai lệnh nâng cao hiệu quả hơn nhiều: xcopyrobocopy. Đặc biệt khi bạn cần kiểm soát hoàn toàn các tính năng hệ thống tệp nâng cao như ACL hoặc luồng dữ liệu thay thế, robocopylà công cụ được lựa chọn.

Ví dụ, nếu bạn đang sao chép một cấu trúc thư mục lớn, bạn có thể muốn mục tiêu không bị phân mảnh . Yêu cầu tiêu chuẩn của robocopynó đã khá tốt ở đó, nhưng vì các mục nhập thư mục được cập nhật khi các thư mục con được tạo, bạn vẫn có thể nhận được các thư mục bị phân mảnh. Để ngăn chặn điều đó, bạn có thể chạy robocopytrong hai lần, lần đầu tiên chỉ tạo cấu trúc thư mục đích mà không sao chép bất kỳ nội dung tệp nào và lần thứ hai thực sự sao chép phần thân tệp.

Nhìn chung, robocopyrất hiệu quả và nhận thức đầy đủ về các tính năng NTFS.


NTFS có hiệu quả tốt hơn ext3 / 4 không?
sarat

Làm thế nào một robocopy hai vượt qua giúp chúng tôi giảm phân mảnh, vì nội dung thực sự sẽ được sao chép sau này. Việc cấp phát đĩa hoàn toàn được kiểm soát bởi trình quản lý tập tin không?
sarat

Tôi đang thực hiện một số thủ thuật như sử dụng Beyond So sánh để sao chép tệp. Tức là tôi có thể chạy nhiều hoạt động sao chép để tối đa hóa việc sử dụng băng thông. Nhưng tôi không chắc nó sẽ bị phân mảnh như thế nào
sarat

2
@Sarath: Liên quan đến phân mảnh: Các mục trong thư mục phát triển khi các tệp và thư mục con mới được thêm vào thư mục. Nếu bạn chỉ ngây thơ tạo thư mục và bắt đầu đưa tệp vào, cuối cùng bản ghi thư mục gốc sẽ quá nhỏ và phải được mở rộng, nhưng bây giờ không còn chỗ trống vì bạn đã có dữ liệu tệp theo sau nó. Với /CREATEtùy chọn, các tệp trống và thư mục con được tạo, không chiếm dung lượng và do đó cho phép các mục nhập thư mục được viết hoàn toàn liền kề.
Kerrek SB

1
@Sarath: Đối với việc so sánh NTFS với Ext, tôi không thể nói, vì NTFS không mở và câu hỏi về hiệu quả khá mơ hồ. NTFS chắc chắn là một phần tốt của công nghệ với một số lượng lớn các tính năng. Tuy nhiên, thực sự không có lựa chọn nào vì bạn sẽ sử dụng NTFS trong Windows và Ext (hoặc BTRFS) trong Linux và đó là lựa chọn đó.
Kerrek SB

4

Một số tốc độ bạn thấy từ Ubuntu Linux có thể là bộ đệm ẩn tệp. Theo tôi biết, sao chép tệp trong Linux không nỗ lực để giảm thiểu việc sử dụng bộ đệm ẩn tệp.

Với Linux khi bạn sao chép một tệp nhỏ hơn khoảng 50% RAM, toàn bộ tệp được sao chép vào bộ đệm của tệp và sau đó được ghi vào đĩa khi thời gian cho phép. Điều này dường như rất nhanh, nhưng nó buộc các tệp hữu ích khác ra khỏi bộ đệm. Đây có thể là các tệp bộ đệm web, email, tệp cấu hình, tệp phông chữ, v.v.

Windows XP được sử dụng để sao chép mà không liên quan đến bộ đệm ẩn tập tin. Nhưng trong Windows Vista, Microsoft đã thay đổi Explorer để khi sao chép, nó sử dụng một lượng bộ đệm tệp giới hạn . Điều này làm giảm tác động của các bản sao tệp lớn trên phần còn lại của hệ thống. Nhưng nó cũng làm giảm tốc độ của các bản sao tệp tương đối nhỏ xuống tốc độ của đĩa cứng.


Yea Ubuntu sử dụng cơ chế lưu trữ tệp. Tôi cũng nhận thấy trình duyệt hơi chậm trong khi quá trình sao chép đang diễn ra. Tôi cũng nhận thấy rằng tốc độ luôn được cải thiện đặc biệt là trong khi sao chép số lượng lớn tệp
sarat

Tôi nghĩ rằng đây là câu trả lời giải quyết câu hỏi gần như hoàn toàn.
Nandakumar Edamana

2

Trong Windows, sử dụng Teracopy - nó sẽ giải quyết vấn đề ngu ngốc chung mà Explorer có.

Trong Ubuntu, tôi thấy sao chép tập tin rất nhanh.

Tuy nhiên, hộp thoại "Thao tác tệp" không biến mất khi bạn đang sử dụng ổ đĩa di động. Nếu bạn cố gắng đẩy ổ đĩa ngay lập tức sau khi hộp thoại biến mất, bạn sẽ nhận được một số thông báo lỗi. Dữ liệu được thông qua mặc dù.

Cập nhật: Hoạt động tệp Windows chậm có thể là tất cả sự tích hợp với các dịch vụ và đăng ký. Nautilus (trong Gnome) chỉ là một quá trình đơn giản mà tôi đoán hoặc ít nhất là không có tải / gián đoạn mà Explorer có.


Giải quyết sự ngu ngốc bằng cách thêm một GUI khác phải mở :) Trong ubfox, kinh nghiệm của tôi là bạn có thể loại bỏ hộp thoại sao chép / di chuyển và nó sẽ đi đến khay hệ thống, hiển thị thông báo khi hoàn tất. Không chắc chắn về cách Natty với máy tính để bàn Unity làm điều đó
sehe

Teracopy được tải bằng Explorer. Bạn không cần phải giữ nó mở. Vì vậy, Teracopy được tải vào bộ nhớ mà không cần bất kỳ nỗ lực nào của người dùng và nó hoạt động không phô trương. Ubuntu không cần bất cứ thứ gì như vậy bởi vì nó có tất cả trí thông minh được tích hợp trong Nautilus, tức là các tùy chọn "hợp nhất" và "bỏ qua tất cả".
BZ1

+1: cảm ơn vì đã mang TeraCopy đến sự chú ý của tôi rồi!
sehe

Tôi đã sử dụng một công cụ mã nguồn mở và miễn phí có tên là fastcopy. [ ipmsg.org/tools/fastcopy.html.en]
sarat

-1

Di chuyển và sao chép các tập tin trong Linux đương nhiên là một hoạt động nhanh chóng. Lý do bạn có thể di chuyển và sao chép tệp nhanh như vậy là vì cả nguồn và đích đều nằm trong cùng một phân vùng. Các hoạt động chỉ cần thay đổi các nút. Di chuyển các tệp giữa các phân vùng khác nhau vẫn rất nhanh (chỉ một phút hoặc lâu hơn cho tệp 1 gig). Trong Windows, phải mất một số để di chuyển tệp đến đích trên cùng một phân vùng vì việc quản lý tệp trong Windows rất lộn xộn. (Hãy suy nghĩ về phân mảnh tệp và cách Windows định dạng đĩa cứng.)


Tôi đồng ý rằng di chuyển là khá nhanh trong các phân vùng. Nhưng sao chép luôn muốn có một ngày trùng lặp trong đĩa và tạo ra các nút mới. Ngoài ra tôi nghi ngờ việc di chuyển các tệp giữa các phân vùng là tốn kém vì có chuyển động tệp vật lý xảy ra. Đúng nếu tôi đã sai lầm.
sarat
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.