Hiệu suất chậm khi sao chép tệp đến và từ thiết bị USB


11

Khi tôi sao chép các tập tin vào và từ các thiết bị USB (máy ảnh, ổ cứng, thẻ nhớ), hệ thống của tôi trở nên rất chậm. Ví dụ: nếu tôi muốn đóng cửa sổ, tôi di chuyển chuột nhưng phải mất khoảng 2 giây trở lên trước khi con trỏ chuột di chuyển. Khi tôi cuối cùng nhận được con trỏ qua x và nhấp vào nó, không có gì xảy ra trong hơn 10 giây. Tôi đã thử điều này với tất cả các hiệu ứng máy tính để bàn bị vô hiệu hóa nhưng vấn đề vẫn tồn tại.

Phần mềm: Linux Mint 9 KDE Phần cứng:

  • Bo mạch chủ Asus SLI
  • GPU NVidia 6600
  • Ram 2 GB
  • Hoán đổi 2 GB
  • AMD Athlox X2 @ 3800+

Đối với tôi phần cứng này không có vấn đề gì khi chạy phần mềm này và nó không hoạt động cho đến khi tôi sao chép các tệp bằng USB. Tôi nên bắt đầu tìm kiếm cái này ở đâu? Tôi nghĩ rằng trình điều khiển đồ họa có thể là một phần của vấn đề nhưng tôi không biết chắc chắn.


2
kiểm tra xem các cổng USB có khả năng USB 2.0 không. một số cổng USB, đặc biệt ở mặt trước của máy tính để bàn chỉ là USB 1.0. Đồng thời kiểm tra xem các cài đặt BIOS của bạn có tối ưu cho hiệu suất USB không. Có thể có một số cài đặt tốc độ USB và / hoặc cài đặt kế thừa USB có thể ảnh hưởng đến hiệu suất của bạn.
Tim Kennedy

Thiết bị có được định dạng là NTFS không? Nếu đúng như vậy, tôi sẽ thử định dạng lại thành FAT32 (hoặc EXT4 nếu bạn chỉ dự định sử dụng nó trên Linux).
RobinJ

3
Dường như có một vấn đề với các trang lớn trong quản lý bộ nhớ của linux . Nó hiếm khi xảy ra, nhưng âm thanh như bạn đã quan sát nó.
artistoex

@artistoex - Bài viết đó tổng hợp hoàn toàn hành vi tôi đã trải qua. Quá xấu không có sửa chữa cụ thể. Bất cứ ai cũng biết nếu điều này được cố định trong các phiên bản sau? Thời gian để nâng cấp nào.
Giăng

như bài viết đã nói, biên dịch lại kernel của bạn với tính năng các trang lớn trong suốt bị vô hiệu hóa.
artistoex

Câu trả lời:


7

Dường như có một vấn đề với các trang lớn trong quản lý bộ nhớ linux . Nó hiếm khi xảy ra, nhưng âm thanh như bạn đã quan sát nó.

Nguyên nhân

Đây là tài khoản đơn giản hóa của tôi về những gì, theo bài báo, xảy ra.

Nếu không may mắn, một quá trình bị kẹt ngay khi nó cấp quyền truy cập bộ nhớ. Đó là bởi vì khi các trang lớn trong suốt được bật, truy cập bộ nhớ có thể kích hoạt tính năng nén đồng bộ (phân mảnh bộ nhớ chính), nghĩa là đồng bộ truy cập bộ nhớ không kết thúc trước khi quá trình nén. Điều này tự nó không phải là một điều xấu. Nhưng nếu việc ghi lại (của, ví dụ, dữ liệu được đệm vào USB) xảy ra cùng một lúc, việc nén lần lượt có thể bị đình trệ, chờ cho quá trình ghi lại kết thúc.

Vì vậy, bất kỳ quá trình nào cũng có thể chờ đợi một thiết bị chậm hoàn thành việc ghi dữ liệu đệm.

Chữa khỏi

Nâng cấp bộ nhớ chính, như OP đã làm, có thể giúp trì hoãn vấn đề. Nhưng đối với những người không coi đó là một lựa chọn, có hai cách giải quyết rõ ràng. Cả hai đều liên quan đến việc biên dịch lại kernel:


2

Điều này nghe có vẻ giống với câu hỏi của tôi ở đây (nơi một câu trả lời chỉ cho tôi câu hỏi này):

/programming/10105203/how-can-i-limit-the-cache-use-by-copying-so-there-is-still-memory-av Available-for

Nhưng lý thuyết hoàn toàn khác, và giải pháp tôi sử dụng không liên quan đến bạn, nhưng hoạt động hoàn hảo.

Tôi đã sử dụng rsync, vì vậy tất cả những gì tôi phải làm là sử dụng tùy chọn --drop-cache. (làm cho bản sao chậm hơn một chút là tác dụng phụ)


0

Thủ thuật duy nhất tôi thấy thực sự hiệu quả: Gnome, nautilus sao chép tệp vào USB dừng ở mức 100% hoặc gần

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.