RHEL6을 사용하는 12G Dell 서버에서 "전력 제한 알림"클로버 링


9

서버 : Poweredge r620
OS : RHEL 6.4
커널 : 2.6.32-358.18.1.el6.x86_64

프로덕션 환경에서 응용 프로그램 경보가 발생합니다. 심각한 CPU 굶주린 프로세스에 리소스가 부족하여 처리 백 로그가 발생했습니다. 최근에 배포 된 클러스터의 모든 12 세대 Dell 서버 (r620)에서 문제가 발생합니다. 내가 알 수 있듯이이 상황은에서 최대 CPU 사용률과 일치하며 대량의 "전력 제한 알림"스팸이 발생 dmesg합니다. 다음 이벤트 중 하나의 발췌 :

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는 일반적으로 CPU가 뜨겁게 작동하거나 전압 조정이 시작되는 것과 관련이 있음을 보여줍니다. 그래도 그렇게되고 있다고 생각하지 않습니다. 클러스터의 모든 서버에 대한 온도 센서가 제대로 실행 중이고 iDRAC에서 전원 제한 정책이 비활성화되어 있고 모든 서버에서 내 시스템 프로필이 "성능"으로 설정되어 있습니다.

# 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
  • Dell 메일 링리스트 게시물 은 증상을 거의 완벽하게 설명합니다. Dell은 저자가 성능 프로파일을 사용해 보라고 제안했지만 도움이되지 않았습니다. 그는 대기 시간이 짧은 환경에 서버를 구성하기 위해 Dell 안내서의 일부 설정을 적용했으며 이러한 설정 중 하나 (또는 ​​그 조합)가 문제를 해결 한 것으로 보입니다.
  • Kernel.org 버그 # 36182 는 전력 제한 인터럽트 디버깅이 기본적으로 활성화되어 CPU 전압 조정이 시작되는 시나리오에서 성능 저하를 유발한다고 지적합니다.
  • RHN KB 기사 (RHN 로그인 필요)에는 성능 프로파일을 실행하지 않는 PE r620 및 r720 서버에 영향을 미치는 문제가 언급되어 있으며 2 주 전에 릴리스 된 커널 업데이트를 권장합니다. ... 성능 프로필을 실행하는 것을 제외하고 ...

온라인에서 찾을 수있는 모든 것이 여기에서 원으로 실행됩니다. 도대체 무슨 일이야?


1
참고로,이 문제 메인 라인 커널 3.11에서 수정되었습니다 . 이 "정상적인"중요하지 않은 이벤트에 대한 커널 인터럽트 핸들러 트리거 때문입니다. 위에 링크 된 커밋은이 핸들러를 비활성화합니다.
Totor

답변:


8

성능 문제를 일으키는 것은 전압 조정이 아니라 디버깅 커널 인터럽트가 발생하는 것입니다.

Redhat의 일부 잘못된 정보에도 불구하고 링크 된 모든 페이지는 동일한 현상을 나타냅니다. 터보 부스트 기능이 활성화 되어 있기 때문에 성능 프로파일의 유무에 관계없이 전압 조정이 발생합니다 . 이유에 관계없이 이러한 전압 변동은 커널 2.6.32-358.18.1.el6.x86_64에서 기본적으로 활성화되는 전력 제한 커널 인터럽트와 제대로 상호 작용하지 않습니다.

확인 된 해결 방법 :

  • 가장 최근에 출시 된 Redhat 커널 (2.6.32-358.23.2.el6)로 업그레이드하면이 디버깅이 비활성화되고 성능 문제가 해결됩니다.
  • grub.confPLN을 비활성화 하려면 다음 커널 매개 변수를 추가하십시오 .clearcpuid=229

색다른 해결책 :

  • "성능"의 시스템 프로파일 설정. 이것만으로는 서버에서 PLN을 비활성화 할 수 없습니다. 귀하의 마일리지가 다를 수 있습니다.

나쁜 해결책 :

  • ACPI 관련 모듈을 블랙리스트에 올립니다. 나는 이것을 몇 개의 포럼 스레드에서 보았습니다. 잘못 권고되었으므로 하지 마십시오 .

새로 배포 한 시스템에서 업데이트를 실행하지 않았습니까?
ewwhite

@ewwhite이 서버는 커널 업데이트가 시작되기 직전에 배포되었습니다. 새로운 RPM은 10 월 16 일에 출시되었습니다 .
Andrew B

Grrr에서 Red Hat으로. 좋은 발견.
ewwhite

업데이트 후에도이 문제는 몇 주 (커널 2.6.32-431.17.1.el6.x86_64) 후에 다시 표면화되었습니다. 이번에는 clearcpuid를 사용하여 PLN을 비활성화해야했습니다. 이 문제로 인해 이미 많은 두통이 발생했습니다! 그리고 12G Dell 서버는 하나뿐입니다 (이로 인해 유일한 서버로 유지됨).
Martijn

1
@Martijn 우리는 현재 2.6.32-431.11.2.el6.x86_64문제가 발생하지 않았습니다. 많은 클러스터, 고부하 등. Redhat이 5 일 전에 해당 업데이트를 릴리스했을 때 회귀가 발생했을 수 있습니다. 내가 찾은 것을 알려주고 답변을 발견하면 업데이트 할 것입니다.
앤드류 B
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.