Jumat lalu saya memutakhirkan server Ubuntu saya menjadi 11,10, yang sekarang berjalan dengan kernel 3.0.0-12-server. Sejak itu kinerja keseluruhan telah menurun secara dramatis. Sebelum peningkatan, beban sistem sekitar 0,3, tetapi saat ini berada pada 22-30 pada sistem CPU 8 inti dengan 16GB RAM (gratis 10GB, tanpa swap digunakan).
Saya akan menyalahkan driver sistem file BTRFS dan array MD yang mendasari, karena [md1_raid1] dan [btrfs-transacti] menghabiskan banyak sumber daya. Tetapi semua [pekerja / *: *] mengkonsumsi lebih banyak.
sar
telah menghasilkan sesuatu yang mirip dengan ini sejak Jumat:
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
Dan iostat
menegaskan tingkat penulisan yang sangat buruk:
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
Pertanyaannya adalah: Bagaimana saya bisa melacak mengapa benang pekerja menghabiskan begitu banyak sumber daya (dan yang mana)? Atau lebih baik: Apakah ini masalah yang diketahui dengan kernel 3.0, dan dapatkah saya mengubah dengan parameter kernel?
Edit:
Saya memperbarui Kernel ke versi baru 3.1 seperti yang direkomendasikan oleh pengembang BTRFS. Tapi sayangnya ini tidak mengubah apa pun.
pcie_ports=compat
atau pcie_ports=native
. (Coba 'pribumi' terlebih dahulu. Ini lebih kecil kemungkinannya untuk memperbaiki masalah tetapi lebih kecil kemungkinannya untuk menyebabkan masalah lain.)