Hiệu suất I / O khổng lồ, không thể đoán trước trong Linux


11

Tôi đang sử dụng thử nghiệm Debian mà không gặp vấn đề gì trong vòng 6 năm (tôi chỉ thường xuyên cập nhật nó), nhưng gần đây nó bắt đầu cho thấy một hành vi ngẫu nhiên có thể được tóm tắt là "Hiệu suất I / O thấp vẫn tồn tại cho đến khi khởi động lại".

Vấn đề là, đột nhiên tất cả các đĩa đọc và ghi chậm xuống ~ 5MB / giây dẫn đến việc đọc và ghi liên tục. Vì tốc độ quá thấp, các đĩa không bị thách thức hoặc căng thẳng về mặt cơ học, nhưng mọi thứ sẽ chậm lại cho đến khi tôi khởi động lại.

Hệ thống con I / O của máy tính bao gồm một ổ SSD OCZ Vertex 3 và hai ổ cứng WD Caviar Black. SSD giữ phần đọc nặng của HĐH và phân vùng trên ổ cứng giữ phần còn lại.

Để chẩn đoán vấn đề tôi đã thử như sau mà không thành công:

  • top không hiển thị bất kỳ hoạt động chạy trốn nào trong cả sử dụng CPU và I / O.
  • hdparmtrả về xếp hạng hiệu suất bình thường của các đĩa ( -tmặc dù tôi chỉ kiểm tra ).
  • smartctlkhông hiển thị bất kỳ vấn đề hiệu suất trong đĩa. Các thử nghiệm dài cho thấy các đĩa vẫn tốt như mới.

Hệ thống có Chipset Z77, RAM 16 GB và CPU Intel i7 3770K và các chỉ số cho thấy không có dấu hiệu bão hòa trong RAM, I / O hoặc CPU, nhưng tôi không có kinh nghiệm để gỡ lỗi các vấn đề như thế này (đặc biệt là trong không gian kernel). Bất kỳ trợ giúp sẽ được đánh giá cao.

Cập nhật 1:

  • Tôi đã chạy (bắt buộc) fsck trên mọi phân vùng để đề phòng. Tất cả các FS đều sạch sẽ.
  • Tình cờ tôi tìm thấy một bản nâng cấp BIOS xuất hiện một tháng trước và áp dụng nó.
  • Không có phân vùng được lấp đầy hơn 50%.

Cập nhật 2:

Vấn đề là không nổi lên trong hai ngày. Hoặc fsckbản cập nhật BIOS đã dọn sạch một số guốc trong hệ thống. Tôi vẫn đang theo dõi vấn đề và sẽ đóng câu hỏi bằng câu trả lời sau khi chết.

Cập nhật 3:

Vấn đề chỉ xuất hiện trở lại và tôi đã đào thêm một số. Xin vui lòng xem câu trả lời.


1
vấn đề phân mảnh atopcó thể cho bạn biết mức độ bận rộn của các đĩa (như khi tìm kiếm mọi lúc).
Stéphane Chazelas

1
Chỉ cần loại trừ một số quirks, vô hiệu hóa NCQ và đặt lịch trình I / O thành noop.
frostschutz

1
"Hiệu suất I / O thấp vẫn tồn tại cho đến khi khởi động lại" có thể là một thiết bị bị hỏng / lỗi, chiếm giữ xe buýt quá thường xuyên, quá khó để chẩn đoán thiếu phần cứng.
msw

1
Sau đó, điều tiếp theo trong lsit của tôi để kiểm tra sẽ là kiểm tra các bản ghi lỗi và kiểm tra xem có nhiều bộ nhớ được phân bổ cho bộ đệm / bộ đệm không (xem đầu ra của free)
symcbean

1
Bạn có thể thấy iowaitvv nếu bạn đang thu thập dữ liệu sar. Tôi sẽ kích hoạt sysstatnếu nó chưa chạy. Bạn có thể kiểm tra với sar -Ahầu hết các nền tảng có khoảng thời gian mẫu mười phút.
Bratchley

Câu trả lời:


12

Tôi đã quản lý để tái tạo vấn đề một lần nữa và đó là kết quả của một bộ đệm lớn. Bộ nhớ cache trên đĩa của tôi có thể tăng hơn 8GB và dường như một số ứng dụng không thích nó và I / O bị.

Thả bộ đệm đĩa với echo 3 > /proc/sys/vm/drop_cachescác biện pháp khắc phục gốc rễ vấn đề. Hiện tại tôi không biết tại sao bộ đệm đĩa lớn gây ra sự xuống cấp I / O này.

Cập nhật lần cuối: Sau khi điều tra thêm, tôi phát hiện ra rằng số lượng tệp trong bộ đệm đã gây ra sự cố. Nó đã làm hỏng các đĩa trong khi cố gắng đưa nhiều tệp nhỏ trở lại đĩa. Vì tôi đã sử dụng hệ thống được mười năm, tôi đã quyết định cài đặt lại Debian 64 bit. Bây giờ nó hoạt động trơn tru. Nó có lẽ là một tác dụng phụ của mười năm nâng cấp với việc tìm giới hạn của hệ điều hành 32 bit.


2

Có bất kỳ tin nhắn đáng ngờ trong dmesg?

Một số công cụ khác bạn có thể cố gắng để hiểu rõ hơn về các nút thắt của hệ thống:

  • dstat
  • độ trễ
  • hệ thống

Không có gì đáng ngờ trong bất kỳ nhật ký. TBH không có mục nhật ký liên quan đến vấn đề này. Tuy nhiên, tôi sẽ thử các công cụ. Không nên có một nút cổ chai trong một PC cao cấp khi đang ở chế độ chờ mà không có gì chạy trên nó. Tôi nghĩ rằng một bộ đệm hoặc một cái gì đó liên quan đến hệ thống con I / O bị sai lệch.
bayindirh

.... và iotop, fio
symcbean
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.