最近、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は、ロード中の画面のモニターをブラックアウトする代わりに、ログイン画面で起動しました。これは何を示していますか?
megaraid
ドライバ(割り込み46)が原因でIRQストームが発生したようです。これは、不適切なBIOS /ドライバーのセットアップまたは障害のあるハードウェアが原因である可能性があります。
次のことを試すことができます。