เมื่อวันศุกร์ที่แล้วฉันอัพเกรดเซิร์ฟเวอร์ Ubuntu เป็น 11.10 ซึ่งตอนนี้ทำงานกับเคอร์เนล 3.0.0-12 เซิร์ฟเวอร์ ตั้งแต่นั้นมาประสิทธิภาพโดยรวมก็ลดลงอย่างมาก ก่อนที่การอัปเกรดโหลดระบบจะอยู่ที่ประมาณ 0.3 แต่ปัจจุบันอยู่ที่ 22-30 ในระบบ CPU 8 คอร์ที่มี RAM ขนาด 16GB (ฟรี 10GB ไม่มีการใช้ swap)
ฉันจะตำหนิไดรเวอร์ระบบไฟล์ BTRFS และอาร์เรย์ MD ที่อยู่ภายใต้เนื่องจาก [md1_raid1] และ [btrfs-transacti] ใช้ทรัพยากรจำนวนมาก แต่ [kworker / *: *] ทั้งหมดกินเยอะขึ้น
sar
ได้แสดงสิ่งที่คล้ายกันนี้ตลอดตั้งแต่วันศุกร์ที่:
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
และiostat
ยืนยันว่าอัตราการเขียนต่ำมาก:
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
คำถามคือฉันจะติดตามได้อย่างไรว่าทำไมเธรด kworker ใช้ทรัพยากรมากมาย (และอันไหน) หรือดีกว่า: นี่เป็นปัญหาที่ทราบกันดีกับเคอร์เนล 3.0 และฉันสามารถปรับแต่งมันด้วยพารามิเตอร์เคอร์เนลได้หรือไม่?
แก้ไข:
ฉันอัปเดตเคอร์เนลเป็นเวอร์ชันใหม่ 3.1 ตามที่นักพัฒนา BTRFS แนะนำ แต่น่าเสียดายที่นี่ไม่ได้เปลี่ยนแปลงอะไรเลย
pcie_ports=compat
pcie_ports=native
(ลอง 'ดั้งเดิม' ก่อนมันมีโอกาสน้อยที่จะแก้ไขปัญหา แต่มีโอกาสน้อยกว่าที่จะทำให้เกิดปัญหาอื่น ๆ )