Tại sao khi sao chép vào ổ đĩa ngoài, cửa sổ tiến trình không chính xác


11

Hãy chỉnh sửa tiêu đề để giải thích rõ hơn những gì tôi sẽ viết ở đây.

Ví dụ, khi tôi sao chép các tệp lớn vào ổ đĩa bút, cửa sổ tiến trình hiển thị ước tính rằng hầu hết thời gian không thể hiển thị thời gian thực và phần trăm để kết thúc, nhưng có trường hợp thông báo mọi thứ đã kết thúc và cửa sổ tiến trình đóng cửa Tôi đi giải nén ổ đĩa bút và nó nói nó vẫn đang được sử dụng. Sau khi kiểm tra ổ đĩa bút, tôi thấy nó vẫn đang sao chép các tập tin nhưng không có cửa sổ tiến trình nào hiển thị điều này.

Nó không chỉ xảy ra với các tệp lớn, nó cũng xảy ra với nhiều tệp nhỏ. Nếu tôi sao chép chúng, thanh tiến trình có thể nói 15 giây chẳng hạn và kết thúc trong thời gian đó, nhưng thời gian thực có thể là 1 phút và trong 45 giây tiếp theo tôi cần thực sự nhìn vào ánh sáng trong ổ bút để xem có là hoạt động thực sự trên đó.

Tôi không muốn biết làm thế nào để sửa nó vì tôi đã đọc cách khắc phục sự cố này có thể đi sâu đến đâu. Những gì tôi muốn biết là tại sao sau đó cửa sổ tiến trình hiển thị một ước tính không tương ứng với quá trình sao chép.

Có phụ thuộc vào Cache trong đơn vị bên ngoài không?

Là kích thước tập tin và số lượng ảnh hưởng của tập tin vào ước tính chính xác. Ví dụ: 1 tệp 4 GB hoặc 1000 tệp 4 MB.

Có tùy chọn cấu hình có thể thay đổi hành vi.

Có những câu hỏi khác tương tự như sao chép các tập tin vào thanh usb không bao giờ kết thúc nhưng tập trung nhiều hơn vào cơ chế giải thích tại sao nó lại hoạt động như thế này.

Câu trả lời:


6

Tôi cho rằng bạn đang sử dụng Nautilus làm trình quản lý tệp của mình và nếu có thì có những lỗi lâu dài về việc này. Quá khó để đề cập đến hiệu ứng Mint, Fedora, Red Hat và tất cả những thứ tương tự. Ubuntu không phải không có vấn đề tương tự.

Một số đề nghị tắt xem hình thu nhỏ giúp. Những người khác đặt hy vọng vào "hạt nhân mới nhất" nhưng điều này vẫn tồn tại.

Vấn đề = Bắt đầu nhanh, sau đó chậm hơn Điều này là do khi được gắn với async, nó sẽ ghi vào bộ đệm, khi bộ đệm đầy, bạn sẽ thấy tốc độ ghi "Real".

Công việc xung quanh dường như là sudo cp /filetobecopied /dev/nameofdevice

một bài đăng khác ở đây nói rằng "sao chép trong khối" hoạt động. Chưa được xác nhận về phía tôi.


3
Để làm rõ, kernel lưu trữ dữ liệu trong RAM thay vì ghi trực tiếp (vì lý do hiệu năng). Khi bạn bấm vào Eject, một synclệnh được thực hiện trong nền, nó sẽ xóa bộ đệm. Đối với số lượng lớn dữ liệu, điều này có thể mất một lúc.
Thứ ba

1
MIPO: sudo cp / filetobecopied / dev / nameofdevice sẽ thay thế toàn bộ hệ thống tệp bằng tệp của bạn, thường không phải là những gì bạn muốn ....
Lennart Rolland

1

Đây cũng là một câu trả lời hay với một giải pháp: /unix//a/181236 Nó nói:

Lý do nó xảy ra theo cách đó là vì chương trình nói "ghi dữ liệu này" và nhân linux sao chép nó vào một bộ nhớ đệm được xếp hàng để đi vào đĩa và sau đó nói "ok, xong". Vì vậy, chương trình nghĩ rằng nó đã sao chép tất cả mọi thứ. Sau đó, chương trình sẽ đóng tệp, nhưng đột nhiên kernel làm cho nó chờ trong khi bộ đệm đó được đẩy ra đĩa.

Vì vậy, thật không may, chương trình không thể cho bạn biết sẽ mất bao lâu để xóa bộ đệm vì nó không biết.

Nếu bạn muốn thử một số thủ thuật sử dụng năng lượng, bạn có thể giảm kích thước bộ đệm mà Linux sử dụng bằng cách đặt / Proc / sys / vm / Dirt_bytes thành thứ gì đó như 15728640 (15 MB). Điều này có nghĩa là ứng dụng không thể nhận được nhiều hơn 15 MB trước tiến độ thực tế của nó.

Một tác dụng phụ là máy tính của bạn có thể có thông lượng ghi dữ liệu thấp hơn với cài đặt này, nhưng về tổng thể, tôi thấy hữu ích khi thấy rằng một chương trình đang chạy trong một thời gian dài trong khi nó ghi nhiều dữ liệu so với sự nhầm lẫn của việc có chương trình dường như được thực hiện với công việc của nó nhưng hệ thống bị chậm trễ do kernel thực hiện công việc thực tế. Đặt bẩn_byte thành một giá trị nhỏ hợp lý cũng có thể giúp ngăn hệ thống của bạn không phản hồi khi bạn thiếu bộ nhớ trống và chạy một chương trình đột nhiên ghi nhiều dữ liệu.

Nhưng, đừng đặt nó quá nhỏ! Tôi sử dụng 15MB như một ước tính sơ bộ rằng hạt nhân có thể chuyển bộ đệm vào ổ cứng bình thường trong 1/4 giây hoặc ít hơn. Nó giữ cho hệ thống của tôi không cảm thấy "lag".

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.