Hệ thống đóng băng / không phản hồi / không sử dụng được khi sao chép tệp lớn vào USB


50

Hôm qua tôi đã sao chép một tập tin 8 GB duy nhất vào USB với tốc độ ghi chậm, 7 MB / s, trong khi RAM của tôi là 3 GB. Trong khi sao chép hệ thống bị đóng băng, đến mức tôi thậm chí không thể di chuyển con trỏ.

Tôi quản lý để đăng nhập vào bảng điều khiển văn bản và chạy iotop, nó cho thấy một quá trình có tên kswapd0đang chiếm 99,99% IO.

Có cách giải quyết nào để sao chép một tệp lớn không làm cho hệ thống của tôi không sử dụng được không?


12
Lỗi này thật nực cười ...
king_julien

Vâng, nó không chỉ xảy ra với Ubuntu mà còn trong các hương vị Debian khác. Tôi cũng đã thấy vấn đề tương tự trong Kali Linux và Parrot OS. Kali có trường hợp xấu nhất, trong khi vẹt làm cho nó trơn tru nhưng mặc dù treo với kích thước rất lớn. Tôi nghĩ đó là vấn đề trong Linux Kernel và cách viết. Đây là và sẽ vẫn là cơn ác mộng tồi tệ nhất của mọi thời đại.
Mohith7548

Câu trả lời:


32

Theo báo cáo lỗi này, tôi đã giải quyết nó bằng cách thêm các dòng sau

vm.dirty_background_ratio = 5
vm.dirty_ratio = 10

vào /etc/sysctl.conf

và chạy

sudo sysctl -p

12
Quan tâm để giải thích những gì các dòng trên làm gì?
nsane

3
@ nisargshah95 xin lỗi, nhưng không có manh mối, hãy tự tìm kiếm ;-)
Philippe Gachoud

4
@ nisargshah95 Các chi tiết của vấn đề được giải thích trong hai bài viết của LWN được liên kết trong unix.stackexchange.com/a/107722/52205
Rmano

1
Cảm ơn bạn, tôi chỉ thấy rằng Ubuntu 16.04 của tôi không thể ghi hai tệp 1,4 GB vào USB mà không có hai dòng này, tôi đã bị đóng băng trong nhiều giờ, vấn đề này đã được giải quyết, ai quan tâm nó làm gì, đôi khi bạn chỉ muốn sao chép tệp và di chuyển trên, bật.
Mike

1
Tôi có các giá trị là 5 và 60. Chúng kiểm soát phần trăm bộ nhớ được sử dụng cho các hoạt động, trong khi dirty_background_bytesdirty_bytessử dụng các giá trị byte tuyệt đối . Tôi đã khắc phục vấn đề này bằng câu trả lời thứ hai, nhưng để làm cho nó liên tục thêm vào sysctl.conf, hãy xem câu trả lời này . Vì vậy, khi sử dụng giá trị phần trăm điều chỉnh chúng khi nâng cấp bộ nhớ.
PeterM

20

Tôi gặp vấn đề tương tự. Của tôi là 64 bit Ubuntu 14.04. Vì vậy, sau một thời gian dài đấu tranh, tôi đã tìm thấy một câu trả lời giải quyết vấn đề của mình. Để dễ sử dụng, tôi đã thêm các lệnh bên dưới được sử dụng trong câu trả lời được đề cập ở trên . Kiểm tra câu trả lời để được giải thích chi tiết.

echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes

Sau khi sử dụng hệ thống lệnh trên bắt đầu hoạt động bình thường trên các tập tin sao chép.

Cảm ơn tới @Rmano .


2
Cài đặt tỷ lệ không giúp ích gì cho hệ thống 12.04 của tôi với chia sẻ NAS chậm. Nhưng sau khi thiết lập byte trực tiếp như được đề xuất ở đây, hệ thống của tôi có thể sử dụng lại được trong khi sao chép vào NAS.
mivk

6
Câu hỏi này đã được 3 năm tuổi và điều này vẫn được yêu cầu để tránh nhận được một hệ thống không thể sử dụng trong khi sao chép để di chuyển. Một số thông tin: nếu Pendrive được định dạng bằng Linux fs như ext4 thì điều này không xảy ra. Khi tôi nói "hệ thống không sử dụng được" tôi thực sự có ý đó, con trỏ chuột trở nên không phản hồi và bạn phải khăng khăng di chuyển nó xung quanh màn hình, bạn nhìn vào màn hình hệ thống và không có bất kỳ việc sử dụng tài nguyên bất thường nào. Có phải tất cả mọi người đều sử dụng CPU Intel và ổ SSD thế hệ thứ 6? Tại sao họ không nhận thấy điều này trong khi thử nghiệm.
Hatoru Hansou

3
@HatoruHansou Tôi cũng cảm thấy như vậy, tôi mới cài đặt Debian Stretch mới và lỗi này cũng xuất hiện ở đây. Tôi biết nó không phụ thuộc vào phân phối, mà phụ thuộc vào nguồn nhân, nhưng đàn ông, sao đến đây vẫn chưa được sửa?
Marecky

1
@Marecky Sau khi đọc, có vẻ như bẩn_bytes không phải là một thứ usb. Chúng ảnh hưởng đến tất cả I / O vì vậy sau khi thực hiện điều tiếng vang, bạn đang thay đổi hệ thống toàn cầu, không phải cho riêng mình. Đối với phiên hiện tại, tôi nghĩ. Có vẻ như các giá trị hiện tại của kernel được điều chỉnh trong suy nghĩ trong các thiết bị lưu trữ mới hơn. Con lắc chậm chịu tác dụng phụ. Xin lỗi, không có liên kết, nhưng điều này phải dễ dàng tìm thấy bằng cách googling cho nó.
Hatoru Hansou

3
Xem câu trả lời này để làm cho nó bền bỉ
PeterM

5

Tôi đang gặp một vấn đề tương tự với hệ thống đóng băng khi sao chép vào ổ đĩa flash. Tôi đã gửi báo cáo lỗi về nó: https://bugs.launchpad.net/ubfox/+source/linux/+orms/1267648

Như cách giải quyết, tôi thấy rằng việc vô hiệu hóa trao đổi sẽ loại bỏ hoàn toàn vấn đề.


1
Thật không may, điều này không làm việc cho tôi trên Ubuntu 16.04.
trình viên

Tôi cũng không làm việc với Ubuntu 16.04.3 LTS - điều này trên máy tính xách tay Alienware 17 R2.
AnthonyK

4

Có, có các cài đặt kernel mà bạn có thể điều chỉnh chỉ định số lượng dữ liệu phải được đánh dấu là được ghi trước khi nó thực sự được ghi vào đĩa. Nhìn vào đây để mô tả khá toàn diện về họ. Cụ thể, bạn sẽ muốn tìm một giá trị của Dirt_ratio phù hợp với bạn (mặc định nó quá cao cho máy tính để bàn / máy tính xách tay, nhưng không có một con số ma thuật nào phù hợp với tất cả mọi người).


2
Xin chào, bạn có thể vui lòng gợi ý cho tôi những số tôi cần đặt dựa trên thông số kỹ thuật của máy tính xách tay không? tham khảo Askubfox.com/questions/713723/ Mạnh

1

Tôi gặp vấn đề tương tự khi sao chép tập tin vào exfatổ đĩa. Tôi đã ít gặp rắc rối hơn khi sử dụng một ext4hệ thống tập tin trên ổ cứng USB của mình.


1
Có vấn đề này trên ext4 quá
PeterM

Fedora 27 (kernel 4.17.5-100) sao chép từ rỉ sét gắn vào USB sang thanh flash gắn USB. Điều này dường như đi xa đến mức đóng băng bộ khóa màn hình ở giữa mờ dần. :-( ~~~
David Tonhofer

1

Tôi vừa gặp vấn đề tương tự (năm 2019), trên Ubuntu 19.10, trong khi sao chép số lượng lớn tệp từ đĩa USB sang đĩa SATA. Cả hai hệ thống tập tin là ext4. Khi tôi tắt trao đổi, vấn đề biến mất. Có vẻ như một số lỗi trong phân bổ bộ nhớ cho bộ đệm đĩa - rõ ràng, hạt nhân cố gắng phân bổ càng nhiều bộ nhớ cho bộ đệm đĩa, càng tốt trong tình huống đó, điều đó không có ý nghĩa (tạo bộ đệm đĩa trong trao đổi ...), hoặc nó chỉ tính sai kích thước bộ nhớ hơn mức có thể được sử dụng để lưu trữ ...

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.