Clobbering "pemberitahuan batas daya" pada server Dell 12G dengan RHEL6

9

Server: Poweredge r620
OS: RHEL 6.4
Kernel: 2.6.32-358.18.1.el6.x86_64

Saya mengalami alarm aplikasi di lingkungan produksi saya. Proses lapar CPU yang kritis sedang kekurangan sumber daya dan menyebabkan backlog pemrosesan. Masalahnya terjadi pada semua server Dell Generasi ke-12 (r620s) dalam sebuah cluster yang baru-baru ini digunakan. Sejauh yang saya tahu, kejadian ini cocok dengan pemanfaatan CPU puncak, disertai dengan sejumlah besar "pemberitahuan batas daya" spam di dmesg. Kutipan dari salah satu dari peristiwa ini:

Nov  7 10:15:15 someserver [.crit] CPU12: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU0: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU6: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU14: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU18: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU2: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU4: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU16: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU0: Package power limit notification (total events = 11)
Nov  7 10:15:15 someserver [.crit] CPU6: Package power limit notification (total events = 13)
Nov  7 10:15:15 someserver [.crit] CPU14: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU18: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU20: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU8: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU2: Package power limit notification (total events = 12)
Nov  7 10:15:15 someserver [.crit] CPU10: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU22: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU4: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU16: Package power limit notification (total events = 13)
Nov  7 10:15:15 someserver [.crit] CPU20: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU8: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU10: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU22: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU15: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU3: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU1: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU5: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU17: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU13: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU15: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU3: Package power limit notification (total events = 374)
Nov  7 10:15:15 someserver [.crit] CPU1: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU5: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU7: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU19: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU17: Package power limit notification (total events = 377)
Nov  7 10:15:15 someserver [.crit] CPU9: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU21: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU23: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU11: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU13: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU7: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU19: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU9: Package power limit notification (total events = 374)
Nov  7 10:15:15 someserver [.crit] CPU21: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU23: Package power limit notification (total events = 374)

Google Fu sedikit mengungkapkan bahwa ini biasanya terkait dengan CPU yang berjalan panas, atau pengaturan tegangan menendang. Saya tidak berpikir itu yang terjadi. Sensor suhu untuk semua server di cluster berjalan dengan baik, Kebijakan Tutup Daya dinonaktifkan di iDRAC, dan Profil Sistem saya disetel ke "Kinerja" di semua server ini:

# omreport chassis biossetup | grep -A10 'System Profile'
System Profile Settings
------------------------------------------
System Profile                                    : Performance
CPU Power Management                              : Maximum Performance
Memory Frequency                                  : Maximum Performance
Turbo Boost                                       : Enabled
C1E                                               : Disabled
C States                                          : Disabled
Monitor/Mwait                                     : Enabled
Memory Patrol Scrub                               : Standard
Memory Refresh Rate                               : 1x
Memory Operating Voltage                          : Auto
Collaborative CPU Performance Control             : Disabled
  • Posting milis Dell menjelaskan gejala hampir dengan sempurna. Dell menyarankan agar penulis mencoba menggunakan profil Performa, tetapi itu tidak membantu. Dia akhirnya menerapkan beberapa pengaturan dalam panduan Dell untuk mengonfigurasi server untuk lingkungan dengan latensi rendah dan salah satu pengaturan tersebut (atau kombinasinya) tampaknya telah menyelesaikan masalah.
  • Kernel.org bug # 36182 mencatat bahwa debugging interupsi batas daya diaktifkan secara default, yang menyebabkan penurunan kinerja dalam skenario di mana regulasi voltase CPU dimulai.
  • Artikel KB RHN (diperlukan login RHN) menyebutkan masalah yang berdampak pada server PE r620 dan r720 tidak menjalankan profil Performa, dan merekomendasikan pembaruan ke kernel yang dirilis dua minggu lalu. ... Kecuali kami menjalankan profil Kinerja ...

Semua yang saya dapat temukan secara online membuat saya berputar-putar di sini. Apa yang sedang terjadi?

Andrew B
sumber
1
FYI, masalah ini telah diperbaiki di kernel jalur utama 3.11. Ini disebabkan oleh pemicu interrupt kernel yang memicu peristiwa non-kritis "normal" ini. Komit yang ditautkan di atas menonaktifkan penangan ini.
Totor

Jawaban:

8

Bukan pengaturan voltase yang menyebabkan masalah kinerja, tetapi kernel debugging yang terpicu olehnya.

Meskipun ada beberapa kesalahan informasi pada bagian Redhat, semua halaman yang ditautkan mengacu pada fenomena yang sama. Pengaturan tegangan terjadi dengan atau tanpa profil Performa, kemungkinan karena fitur Turbo Boost sedang diaktifkan. Apa pun alasannya, fluktuasi tegangan ini berinteraksi buruk dengan interupsi kernel batas daya yang diaktifkan secara default di kernel 2.6.32-358.18.1.el6.x86_64.

Penanganan Masalah yang Dikonfirmasi:

  • Memutakhirkan ke kernel Redhat yang paling baru dirilis (2.6.32-358.23.2.el6) menonaktifkan debugging ini dan menghilangkan masalah kinerja.
  • Menambahkan parameter kernel berikut grub.confakan menonaktifkan PLN:clearcpuid=229

Penanganan Keripik:

  • Mengatur Profil Sistem "Kinerja". Ini dengan sendirinya tidak cukup untuk menonaktifkan PLN di server kami. Jarak tempuh Anda mungkin beragam.

Penanganan buruk :

  • Daftar hitam modul terkait ACPI. Saya telah melihat ini di beberapa utas forum. Keliru, jadi jangan .
Andrew B
sumber
Apakah Anda tidak menjalankan pembaruan pada sistem yang baru digunakan?
ewwhite
@ewwhite Server-server ini digunakan sebelum pembaruan-pembaruan kernel tersebut ditayangkan. RPM baru dibuat tersedia pada 16 Oktober .
Andrew B
Grrr ke Red Hat. Temuan yang bagus.
ewwhite
Bahkan setelah pembaruan masalah ini muncul kembali untuk saya setelah beberapa minggu (pada kernel 2.6.32-431.17.1.el6.x86_64). Kami harus menonaktifkan PLN menggunakan clearcpuid untuk menyingkirkannya kali ini. Masalah ini telah menyebabkan saya sangat sakit kepala! Dan kami hanya memiliki satu server Dell 12G (dan itu akan menjadi satu-satunya karena ini).
Martijn
1
@ Martijn Saat ini kami siap 2.6.32-431.11.2.el6.x86_64dan tidak mengalami masalah. Banyak cluster, beban tinggi, dll. Mungkin saja ada regresi yang merayap ketika Redhat merilis pembaruan itu lima hari yang lalu. Saya akan memberi tahu Anda apa yang saya temukan dan memperbarui jawabannya jika ternyata itu yang terjadi.
Andrew B