Tại sao các hoạt động sao chép tệp trong Linux trở nên chậm hơn theo thời gian?


22

Tôi có tập tin 12 ~ 200 MB. Sao chép một trong số chúng vào ổ đĩa khác mất 20 giây. Khi tôi cố gắng sao chép tất cả chúng cùng một lúc, đầu tiên nó nói rằng sẽ mất 5 phút, sau đó nó sẽ chậm dần vào giờ và ngày.

Tôi đang sao chép các tệp thông qua Thunar trong XFCE, nhưng tôi nhớ có vấn đề tương tự khi sử dụng dòng lệnh. Tại sao điều này xảy ra và tôi có thể làm gì để khắc phục nó, ngoài việc chỉ sao chép từng tệp một?


Bạn đã kiểm tra ổ đĩa cho lỗi? Là những tập tin trong thư mục phụ?
tubaguy50035

@ tubaguy50035 Các tập tin không nằm trong các thư mục con. Điều đó đang được nói, có khả năng ổ đĩa nguồn có thể có lỗi. Tôi sẽ kiểm tra.
Người dùng không tìm thấy

@CodeGnome Tôi đã làm một cp cơ bản -v sourcedir / * Destdir.
Người dùng không tìm thấy

Câu trả lời:


25

Đây là một vấn đề đã biết với chính nhân Linux đã được biết đến từ lâu, chưa có ai giải quyết được vấn đề này.

hiện tại không có sửa chữa hoặc giải quyết công việc, ngoài việc sử dụng Windows làm tăng tốc độ và sau đó bình thường hóa. Tôi thấy lỗi này là một vấn đề ưu tiên rất cao, nhưng các lập trình viên không cảm thấy như vậy. Chính lỗi này đã bắt đầu đẩy tôi ra khỏi Linux.

Tham chiếu:


6
Yêu cầu trích dẫn! Nó có thể giúp trả lời câu hỏi của chúng tôi nếu bạn có thể đưa ra một số tài liệu chỉ ra lỗi này
Journeyman Geek


6
và ở đây, có thể được tìm thấy như một liên kết trong trích dẫn ban đầu. bugzilla.kernel.org/show_orms.cgi?id=12309
Dave

Bạn lái xe ra khỏi Linux chỉ vì lý do này ???
Kyrol

1
@Kyrol đây là một lý do rất lớn!
puk

10

Bạn nên thử rsync để theo dõi tốc độ chuyển của bạn. Ví dụ:

rsync -PSauv sourcedir/* destdir/

Nếu bạn thực sự thấy tốc độ truyền giảm, trái ngược với các tệp chỉ lớn, thì bạn cần xem xét một vài thứ khác.

  1. Nếu đĩa của bạn bị ràng buộc I / O, bạn sẽ gặp vấn đề. Bạn thường thấy điều này khi ghi nhiều vào ổ đĩa flash hoặc thiết bị USB bên ngoài.

  2. Kiểm tra cả hai đĩa của bạn hdparm -Tt <device>để xem liệu một ổ đĩa có chậm hơn đáng kể hay không, hoặc chậm hơn đáng kể so với thiết bị khác có thể dẫn đến các sự cố I / O.

  3. Kiểm tra đầu ra dmesg và trạng thái SMART của bạn để đảm bảo bạn không có bất kỳ lỗi đĩa rõ ràng nào. Bạn cũng có thể xem xét badblocks -nnếu bạn nghi ngờ lỗi đĩa trên ổ đĩa không SMART.

Có rất nhiều lý do tại sao một đĩa có thể đập hoặc thực hiện tối ưu phụ, nhưng cho đến khi bạn có thể đo lường được vấn đề, bạn sẽ không biết vấn đề là gì. :)


2

Hãy nhớ rằng quá trình sao chép tệp được Linux lưu trữ bằng cách nào đó. Nếu bạn lấy một tệp duy nhất (ngay cả khi 200 MB) và bắt đầu sao chép nó sang một nơi khác, Linux sẽ lưu trữ, với xác suất cao, toàn bộ tệp trong bộ nhớ và ghi nó vào vị trí mới. Sau đó, nếu bạn chọn sao chép lại tệp đó và cùng với đó là một loạt các tệp khác, thì tệp đầu tiên đã được lưu vào bộ đệm và sau đó có thể bỏ qua toàn bộ "phần đọc", trong khi các tệp khác được đọc trước và sau đó được ghi vào nguồn của chúng / điểm đến. Tính năng này thậm chí có thể dẫn đến tốc độ truyền vô hạn và các mức độ kỳ lạ tương tự, vì vậy đừng tin vào bất kỳ phép đo nào có thể bị vô hiệu hóa bởi các cơ chế chach trước đó.


-3

Ghi một bản sao của SliTaz vào đĩa CD / USB.

Nó được thiết kế để sử dụng trên các máy thực sự cổ xưa và chạy rất nhanh kể từ khi có RAM. Bạn không cần phải cài đặt, chỉ cần chạy nó trực tiếp. Nếu bạn đã gắn USB, bạn sẽ có thể nhìn thấy nó, sau đó sao chép những gì bạn cần vào máy tính của mình. Tốc độ chuyển tiền tôi đã tìm thấy là ổn định và nhanh chóng.

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.