web-dev-qa-db-ja.com

100%CPU使用率のソースを見つける

最近、Dell Poweredge 2850でクラッシュが発生し、不良のRAIDメモリカードまでさかのぼります。カードを交換してバッテリーをリセットし、サーバーを再起動しました。

起動後、CPUの1つが常に100%になることに気づきました。通常はCPU 1(2番目のCPU)ですが、約10ブートのうち1回はCPU 3(4番目のCPU)でした。

高負荷の原因となっているプロセスは、events/1(または、events/3がコア3で発生した1回)です。 dmesgを調べましたが、異常は見つかりませんでした。実際にCPU使用率を引き起こしている原因を見つける方法について誰かが何か提案はありますか?

また、起動時にモニターを接続すると、CentOSの読み込み画面で読み込みバーが半分ほどになり、画面が真っ暗になります(ログイン画面は表示されません)。それ以外の場合は、すべてが起動して正常に実行されます。

サーバー情報:

CentOS release 6.9 (Final)

CPU情報:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 15
model       : 4
model name  : Intel(R) Xeon(TM) CPU 3.00GHz
stepping    : 3
microcode   : 5
cpu MHz     : 3000.000
cache size  : 2048 KB
physical id : 3
siblings    : 2
core id     : 0
cpu cores   : 1
apicid      : 6
initial apicid  : 6
fpu     : yes
fpu_exception   : yes
cpuid level : 5
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts pni dtes64 monitor ds_cpl cid cx16 xtpr
bogomips    : 5985.27
clflush size    : 64
cache_alignment : 128
address sizes   : 36 bits physical, 48 bits virtual
power management:

特定の構成ファイルまたは出力を表示する場合は、コメントを追加してください。

更新1:

猫/ proc/interrupts

            CPU0       CPU1       CPU2       CPU3       
   0:        133          0          0          1   IO-APIC-Edge      timer
   1:          0          0          0          2   IO-APIC-Edge      i8042
   4:          0          0          0          2   IO-APIC-Edge    
   8:          0          0          0          1   IO-APIC-Edge      rtc0
   9:          0          0          0          0   IO-APIC-fasteoi   acpi
  12:          0          0          0          4   IO-APIC-Edge      i8042
  14:          0          0          0        147   IO-APIC-Edge      ata_piix
  15:          0          0          0          0   IO-APIC-Edge      ata_piix
  16:          0          0          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
  18:          0          0          0        301   IO-APIC-fasteoi   uhci_hcd:usb4, radeon
  19:          0          0          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
  23:          0          0          0         49   IO-APIC-fasteoi   ehci_hcd:usb1
  46:          0          0       3804       4767   IO-APIC-fasteoi   megaraid
  64:          0        288          0        104   IO-APIC-fasteoi   eth0
 NMI:          0          1          0          0   Non-maskable interrupts
 LOC:      24325      76909      25269      31039   Local timer interrupts
 SPU:          0          0          0          0   Spurious interrupts
 PMI:          0          1          0          0   Performance monitoring interrupts
 IWI:          0          0          0          0   IRQ work interrupts
 RES:       2295        703       1357        886   Rescheduling interrupts
 CAL:       3986        421        156        175   Function call interrupts
 TLB:        526         95        803       3519   TLB shootdowns
 TRM:          0          0          0          0   Thermal event interrupts
 THR:          0          0          0          0   Threshold APIC interrupts
 MCE:          0          0          0          0   Machine check exceptions
 MCP:          1          1          1          1   Machine check polls
 ERR:          0
 MIS:          0

sar

Linux 2.6.32-696.16.1.el6.x86_64 (HOSTNAME)     12/30/2017  _x86_64_    (4 CPU)

09:57:37 AM       LINUX RESTART

10:00:01 AM     CPU     %user     %Nice   %system   %iowait    %steal     %idle
10:10:01 AM     all      0.10      0.07     21.09      1.49      0.00     77.25
10:20:01 AM     all      0.15      0.00     21.00      0.00      0.00     78.85
10:30:01 AM     all      0.11      0.00     20.92      0.00      0.00     78.97
10:40:01 AM     all      0.09      0.00     20.81      0.01      0.00     79.09
Average:        all      0.11      0.02     20.96      0.37      0.00     78.54

12:35:32 PM       LINUX RESTART

Tasks: 164 total,   2 running, 162 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us, 20.8%sy,  0.0%ni, 78.9%id,  0.0%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   8058904k total,   453272k used,  7605632k free,    22240k buffers
Swap:  8191996k total,        0k used,  8191996k free,   174064k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                               
   20 root      20   0     0    0    0 R 99.9  0.0   5:50.67 events/1                                                                                                                                              

更新2:

ボックスへの物理的なアクセスを回復したら、PERCコントローラーをパーツサーバーのコントローラーと完全に交換しました。メモリカードとバッテリーを取り付け直した。新しいハードウェアのためにRAID構成が一致しなかったので、ディスクから復元しました。起動後、同じ100%のCPU使用率が得られました。

CMOS=バッテリーを引き、電源ボタンを10秒間押し続けてBIOS/CMOSをリセットしました。再起動してRAIDをセットアップし、ハードドライブから再度読み取るようにしました。CPUは100%のままです。

私は走ったyum updateと再起動しました。それでも100%。以下は、個々のCPUを示す上部です。

top - 11:59:19 up 21 min,  1 user,  load average: 1.00, 0.97, 0.72
Tasks: 164 total,   2 running, 162 sleeping,   0 stopped,   0 zombie
Cpu0  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  :  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  0.0%us,100.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8058904k total,   456996k used,  7601908k free,    22480k buffers
Swap:  8191996k total,        0k used,  8191996k free,   173792k cached

sar

Linux 2.6.32-696.16.1.el6.x86_64 (HOSTNAME)     01/04/2018  _x86_64_    (4 CPU)

10:40:45 AM       LINUX RESTART

10:50:01 AM     CPU     %user     %Nice   %system   %iowait    %steal     %idle
11:00:01 AM     all      0.08      0.00     20.86      0.00      0.00     79.06
11:40:01 AM     all      0.00      0.00      0.00      0.00      0.00      0.00
11:50:01 AM     all      0.08      0.00     20.87      0.02      0.00     79.03
12:00:01 PM     all      0.08      0.00     20.89      0.00      0.00     79.02
Average:        all      0.00      0.00     20.83      0.00      0.00     79.78

猫/ proc/interrupts

            CPU0       CPU1       CPU2       CPU3       
   0:        133          0          0          6   IO-APIC-Edge      timer
   1:          0          0          0          2   IO-APIC-Edge      i8042
   4:          0          0          0          2   IO-APIC-Edge    
   8:          0          0          0          1   IO-APIC-Edge      rtc0
   9:          0          0          0          0   IO-APIC-fasteoi   acpi
  12:          0          0          0          4   IO-APIC-Edge      i8042
  14:          0          0          0        147   IO-APIC-Edge      ata_piix
  15:          0          0          0          0   IO-APIC-Edge      ata_piix
  16:          0          0          0          0   IO-APIC-fasteoi   uhci_hcd:usb2
  18:          0          0        302        302   IO-APIC-fasteoi   uhci_hcd:usb4, radeon
  19:          0          0          0          0   IO-APIC-fasteoi   uhci_hcd:usb3
  23:          0          0          0         53   IO-APIC-fasteoi   ehci_hcd:usb1
  46:          0          0       4074       4912   IO-APIC-fasteoi   megaraid
  64:          0       4917          0        108   IO-APIC-fasteoi   eth0
 NMI:          0          0          0         28   Non-maskable interrupts
 LOC:     197497     401002     148354    1361329   Local timer interrupts
 SPU:          0          0          0          0   Spurious interrupts
 PMI:          0          0          0         28   Performance monitoring interrupts
 IWI:          0          0          0          0   IRQ work interrupts
 RES:       5891       1183       2828       8249   Rescheduling interrupts
 CAL:       3641       1441        156        184   Function call interrupts
 TLB:        837       3324        833        202   TLB shootdowns
 TRM:          0          0          0          0   Thermal event interrupts
 THR:          0          0          0          0   Threshold APIC interrupts
 MCE:          0          0          0          0   Machine check exceptions
 MCP:          6          6          6          6   Machine check polls
 ERR:          0
 MIS:          0

更新3:

Noubicとnolapicの引数をGRUBのカーネルコマンドに追加しました。 topとcat/proc/interruptsの結果は次のとおりです

top - 14:55:01 up 5 min,  1 user,  load average: 1.76, 1.27, 0.58
Tasks: 111 total,   2 running, 109 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.4%us, 99.6%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8059152k total,   442016k used,  7617136k free,    22252k buffers
Swap:  8191996k total,        0k used,  8191996k free,   173556k cached

猫/ proc/interrupts

          CPU0       
  0:     447518    XT-PIC-XT-PIC    timer
  1:          2    XT-PIC-XT-PIC    i8042
  2:          0    XT-PIC-XT-PIC    cascade
  3:          1    XT-PIC-XT-PIC  
  4:          4    XT-PIC-XT-PIC  
  5:         50    XT-PIC-XT-PIC    ehci_hcd:usb1
  7:       8825    XT-PIC-XT-PIC    uhci_hcd:usb4, radeon, megaraid
  8:          1    XT-PIC-XT-PIC    rtc0
  9:          0    XT-PIC-XT-PIC    acpi
 10:          0    XT-PIC-XT-PIC    uhci_hcd:usb3
 11:       1586    XT-PIC-XT-PIC    uhci_hcd:usb2, eth0
 12:          4    XT-PIC-XT-PIC    i8042
 14:        148    XT-PIC-XT-PIC    ata_piix
 15:          0    XT-PIC-XT-PIC    ata_piix
NMI:          0   Non-maskable interrupts
LOC:          0   Local timer interrupts
SPU:          0   Spurious interrupts
PMI:          0   Performance monitoring interrupts
IWI:          0   IRQ work interrupts
RES:          0   Rescheduling interrupts
CAL:          0   Function call interrupts
TLB:          0   TLB shootdowns
TRM:          0   Thermal event interrupts
THR:          0   Threshold APIC interrupts
MCE:          0   Machine check exceptions
MCP:          2   Machine check polls
ERR:          0
MIS:          0

また、以前と同じ結果が得られた、はるかに古いバージョンのカーネル(Centos 6.7)で起動しようとしました。ランダムコアでのCPU使用率が100%です。

更新4:

別のプロジェクトに気を取られて、サーバーを数時間オンのままにしました。シャットダウンする前にtopを確認したところ、CPU使用率が通常(コアあたり1%未満)に低下していることに気付きました。問題が再発するかどうかを確認するために再起動しましたが、再起動しませんでした。私はこれの原因を知りたいし、誰かが何か提案があればそれを理解するために別のことを試み続けたいと思っています。私が普通に気づかなかったのは、/ var/spool/mail/rootにあるメッセージだけです。

Invalid system activity file: /var/log/sa//sa04

これは私がトップをチェックする前に生成されました。

更新5:

問題の原因を見つけました!私が他のプロジェクトに取り組むために休憩を取ったとき、私はモニターのプラグを抜いて、それを持っていきました。 (SSH経由で)再びチェックインしたとき、CPU使用率は正常でした。何が変わったのか考えてみると、モニターしか考えられませんでした。理論をテストするために、モニターを接続して再起動しました。 100%CPU使用率。モニターのプラグを抜くと、CPU使用率がすぐに落ちました。

だから今私は、モニターが接続されているときに何がCPU使用率を引き起こしているのか疑問に思っていますか?

更新6:

lspci

00:00.0 Host bridge: Intel Corporation E7520 Memory Controller Hub (rev 09)
00:02.0 PCI bridge: Intel Corporation E7525/E7520/E7320 PCI Express Port A (rev 09)
00:04.0 PCI bridge: Intel Corporation E7525/E7520 PCI Express Port B (rev 09)
00:05.0 PCI bridge: Intel Corporation E7520 PCI Express Port B1 (rev 09)
00:06.0 PCI bridge: Intel Corporation E7520 PCI Express Port C (rev 09)
00:1d.0 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02)
00:1d.1 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02)
00:1d.2 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 (rev 02)
00:1d.7 USB controller: Intel Corporation 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev c2)
00:1f.0 ISA bridge: Intel Corporation 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801EB/ER (ICH5/ICH5R) IDE Controller (rev 02)
01:00.0 PCI bridge: Intel Corporation 80332 [Dobson] I/O processor (A-Segment Bridge) (rev 06)
01:00.2 PCI bridge: Intel Corporation 80332 [Dobson] I/O processor (B-Segment Bridge) (rev 06)
02:0e.0 RAID bus controller: Dell PowerEdge Expandable RAID controller 4 (rev 06)
05:00.0 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge A (rev 09)
05:00.2 PCI bridge: Intel Corporation 6700PXH PCI Express-to-PCI Bridge B (rev 09)
06:07.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
07:08.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05)
09:0d.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RV100 [Radeon 7000 / Radeon VE]

更新7:

Noacpiとnomodesetをブートオプションに追加すると、CPU使用率の問題が解消されました。 CentOSは、ロード中の画面のモニターをブラックアウトする代わりに、ログイン画面で起動しました。これは何を示していますか?

4
user2395126

megaraidドライバ(割り込み46)が原因でIRQストームが発生したようです。これは、不適切なBIOS /ドライバーのセットアップまたは障害のあるハードウェアが原因である可能性があります。

次のことを試すことができます。

  • dell PERCドライバとファームウェアを更新する
  • 別の(古い/新しい)カーネルバージョンを使用する
  • サーバーのCMOS/BIOSのリセットおよび/またはファームウェアの更新
  • 影響を受けるハードウェアを変更します。
2
shodanshok