Thứ sáu tuần trước, tôi đã nâng cấp máy chủ Ubuntu của mình lên 11.10, hiện đang chạy với nhân máy chủ 3.0.0-12. Kể từ đó hiệu suất tổng thể đã giảm đáng kể. Trước khi nâng cấp, hệ thống tải khoảng 0,3, nhưng hiện tại nó ở mức 22-30 trên hệ thống CPU 8 nhân với 16GB RAM (miễn phí 10 GB, không sử dụng trao đổi).
Tôi sẽ đổ lỗi cho trình điều khiển hệ thống tệp BTRFS và mảng MD bên dưới, bởi vì [md1_ston1] và [btrfs-transacti] đã tiêu tốn rất nhiều tài nguyên. Nhưng tất cả [kworker / *: *] tiêu thụ nhiều hơn thế.
sar
đã xuất ra một cái gì đó tương tự như thế này liên tục kể từ thứ Sáu:
11:25:01 CPU %user %nice %system %iowait %steal %idle
11:35:01 all 1,55 0,00 70,98 8,99 0,00 18,48
11:45:01 all 1,51 0,00 68,29 10,67 0,00 19,53
11:55:01 all 1,40 0,00 65,52 13,53 0,00 19,55
12:05:01 all 0,95 0,00 66,23 10,73 0,00 22,10
Và iostat
xác nhận tỷ lệ ghi rất kém:
sda 129,26 3059,12 614,31 258226022 51855269
sdb 98,78 24,28 3495,05 2049471 295023077
md1 191,96 202,63 611,95 17104003 51656068
md0 0,01 0,02 0,00 1980 109
Câu hỏi là: Làm thế nào tôi có thể theo dõi lý do tại sao các luồng kworker tiêu thụ nhiều tài nguyên (và cái nào)? Hoặc tốt hơn: Đây có phải là sự cố đã biết với kernel 3.0 không và tôi có thể điều chỉnh nó với các tham số kernel không?
Chỉnh sửa:
Tôi đã cập nhật Kernel lên phiên bản hoàn toàn mới 3.1 theo khuyến nghị của các nhà phát triển BTRFS. Nhưng thật không may, điều này đã không thay đổi bất cứ điều gì.
pcie_ports=compat
hoặc pcie_ports=native
. (Trước tiên hãy thử 'bản địa'. Nó ít có khả năng khắc phục sự cố nhưng ít có khả năng gây ra các sự cố khác.)