Linux服务器宕机案例

Linux服务器宕机案例一则

案例环境

  • 操作系统 :Oracle Linux Server release 5.7 64bit 虚拟机
  • 硬件配置 : 物理机型号为DELL R720
  • 资源配置 :RAM 8G Intel(R) Xeon(R) CPU E5-2690 8核

案例描述

早晨发现桂林那边一台Linux服务器(虚拟机)网络无法ping通,于是联系那边的系统管理员通过Lync共享桌面给我,通过他的电脑VMware vSphere Client登录后,发现在控制台亦无响应。无法登录、无法操作,输入操作无响应。也就是说系统宕机了。没有办法,只能在虚拟机“电源”选项,通过“关闭电源”、“打开电源”选项重启Linux服务器,然后重启了Tomcat服务和Oracle数据库服务。检查了Oracle数据库的告警日志,没有发现任何错误。我的领导通过分析Linux系统日志后,发现在8月1号晚上2:22左右出现,出现内存不足,Linux出于保护机制,把一些无关紧要的进程杀掉。具体错误信息如下所示(服务器名称做了下混淆)

Aug  1 01:36:09 G*******LNX01 ntpd[3555]: kernel time sync enabled 4001
Aug  1 01:53:13 G*******LNX01 ntpd[3555]: kernel time sync enabled 0001
Aug  1 02:22:36 G*******LNX01 kernel: hald invoked oom-killer: gfp_mask=0x200da, order=0, oom_adj=0
Aug  1 02:22:37 G*******LNX01 kernel: hald cpuset=/ mems_allowed=0
Aug  1 02:22:37 G*******LNX01 kernel: Pid: 3408, comm: hald Not tainted 2.6.32-200.13.1.el5uek #1
Aug  1 02:22:37 G*******LNX01 kernel: Call Trace:
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff810a0b66>] ? cpuset_print_task_mems_allowed+0x92/0x9e
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff810d9ae6>] oom_kill_process+0x85/0x25b
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff810d9fbc>] ? select_bad_process+0xbc/0x102
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff810da03f>] __out_of_memory+0x3d/0x86
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff810da30f>] out_of_memory+0xfc/0x195
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff810dd75e>] __alloc_pages_nodemask+0x487/0x595
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff811075ac>] alloc_page_vma+0xb9/0xc8
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff810ff0a7>] read_swap_cache_async+0x52/0xf1
Aug  1 02:22:37 G*******LNX01 kernel:  [<ffffffff810ff1a3>] swapin_readahead+0x5d/0x9c
Aug  1 02:22:38 G*******LNX01 kernel:  [<ffffffff810d725a>] ? find_get_page+0x22/0x69
Aug  1 02:22:38 G*******LNX01 kernel:  [<ffffffff810f1ea3>] handle_mm_fault+0x44b/0x80f
Aug  1 02:22:40 G*******LNX01 kernel:  [<ffffffff81043696>] ? should_resched+0xe/0x2f
Aug  1 02:22:40 G*******LNX01 kernel:  [<ffffffff81456006>] do_page_fault+0x210/0x299
Aug  1 02:22:40 G*******LNX01 kernel:  [<ffffffff81453fd5>] page_fault+0x25/0x30
Aug  1 02:22:40 G*******LNX01 kernel: Mem-Info:
Aug  1 02:22:43 G*******LNX01 kernel: Node 0 DMA per-cpu:
Aug  1 02:22:44 G*******LNX01 kernel: CPU    0: hi:    0, btch:   1 usd:   0
Aug  1 02:22:44 G*******LNX01 kernel: CPU    1: hi:    0, btch:   1 usd:   0
Aug  1 08:51:04 G*******LNX01 syslogd 1.4.1: restart.
Aug  1 08:51:04 G*******LNX01 kernel: klogd 1.4.1, log source = /proc/kmsg started.
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys cpuset
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys cpu

OOM Killer,说白了 OOM Killer 就是一层保护机制,用于避免在内存不足的时候不至于出现严重问题,把一些无关的进程优先杀掉,即在内存严重不足时,系统为了继续运转,内核会挑选一个进程,将其杀掉,以释放内存,缓解内存不足情况,不过这种保护是有限的,不能完全的保护进程的运行。

但是这个时间点是发生在凌晨2点多,于是我继续检查/var/log/messages日志信息,发现系统启动时出现了

“Phoenix BIOS detected: BIOS may corrupt low RAM, working around it”错误。于是google搜索这个错误信息。

Aug  1 08:51:04 G*******LNX01 syslogd 1.4.1: restart.
Aug  1 08:51:04 G*******LNX01 kernel: klogd 1.4.1, log source = /proc/kmsg started.
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys cpuset
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys cpu
Aug  1 08:51:04 G*******LNX01 kernel: Linux version 2.6.32-200.13.1.el5uek (mockbuild@ca-build9.us.oracle.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-50)) #1 SMP Wed Jul 27 2
1:02:33 EDT 2011
Aug  1 08:51:04 G*******LNX01 kernel: Command line: ro root=/dev/VolGroup00/LogVol00 rhgb quiet
Aug  1 08:51:04 G*******LNX01 kernel: KERNEL supported cpus:
Aug  1 08:51:04 G*******LNX01 kernel:   Intel GenuineIntel
Aug  1 08:51:04 G*******LNX01 kernel:   AMD AuthenticAMD
Aug  1 08:51:04 G*******LNX01 kernel:   Centaur CentaurHauls
Aug  1 08:51:04 G*******LNX01 kernel: BIOS-provided physical RAM map:
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000000ca000 - 00000000000cc000 (reserved)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 0000000000100000 - 00000000bfee0000 (usable)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000bfee0000 - 00000000bfeff000 (ACPI data)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000bfeff000 - 00000000bff00000 (ACPI NVS)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000bff00000 - 00000000c0000000 (usable)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 00000000fffe0000 - 0000000100000000 (reserved)
Aug  1 08:51:04 G*******LNX01 kernel:  BIOS-e820: 0000000100000000 - 0000000240000000 (usable)
Aug  1 08:51:04 G*******LNX01 kernel: DMI present.
Aug  1 08:51:04 G*******LNX01 kernel: Phoenix BIOS detected: BIOS may corrupt low RAM, working around it.
Aug  1 08:51:04 G*******LNX01 kernel: last_pfn = 0x240000 max_arch_pfn = 0x400000000
Aug  1 08:51:04 G*******LNX01 kernel: x86 PAT enabled: cpu 0, old 0x0, new 0x7010600070106
Aug  1 08:51:04 G*******LNX01 kernel: total RAM covered: 8192M
Aug  1 08:51:04 G*******LNX01 kernel: Found optimal setting for mtrr clean up
Aug  1 08:51:04 G*******LNX01 kernel:  gran_size: 64K  chunk_size: 64K         num_reg: 4      lose cover RAM: 0G
Aug  1 08:51:04 G*******LNX01 kernel: x86 PAT enabled: cpu 0, old 0x0, new 0x7010600070106
Aug  1 08:51:04 G*******LNX01 kernel: last_pfn = 0xc0000 max_arch_pfn = 0x400000000
Aug  1 08:51:04 G*******LNX01 kernel: init_memory_mapping: 0000000000000000-00000000c0000000
Aug  1 08:51:04 G*******LNX01 kernel: init_memory_mapping: 0000000100000000-0000000240000000
Aug  1 08:51:04 G*******LNX01 kernel: RAMDISK: 37c4d000 - 37fef894
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: RSDP 00000000000f6940 00024 (v02 PTLTD )
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: XSDT 00000000bfeefddc 0005C (v01 INTEL  440BX    06040000 VMW  01324272)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: FACP 00000000bfefee98 000F4 (v04 INTEL  440BX    06040000 PTL  000F4240)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: DSDT 00000000bfef0230 0EC68 (v01 PTLTD  Custom   06040000 MSFT 03000001)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: FACS 00000000bfefffc0 00040
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: BOOT 00000000bfef0208 00028 (v01 PTLTD  $SBFTBL$ 06040000  LTP 00000001)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: APIC 00000000bfef0156 000B2 (v01 PTLTD  ? APIC   06040000  LTP 00000000)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: MCFG 00000000bfef011a 0003C (v01 PTLTD  $PCITBL$ 06040000  LTP 00000001)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: SRAT 00000000bfeefed8 00128 (v02 VMWARE MEMPLUG  06040000 VMW  00000001)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: HPET 00000000bfeefea0 00038 (v01 VMWARE VMW HPET 06040000 VMW  00000001)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: WAET 00000000bfeefe78 00028 (v01 VMWARE VMW WAET 06040000 VMW  00000001)
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: PXM 0 -> APIC 0 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: PXM 0 -> APIC 1 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: PXM 0 -> APIC 2 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: PXM 0 -> APIC 3 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: PXM 0 -> APIC 4 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: PXM 0 -> APIC 5 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: PXM 0 -> APIC 6 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: PXM 0 -> APIC 7 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: Node 0 PXM 0 0-a0000
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: Node 0 PXM 0 100000-c0000000
Aug  1 08:51:04 G*******LNX01 kernel: SRAT: Node 0 PXM 0 100000000-240000000
Aug  1 08:51:04 G*******LNX01 kernel: Bootmem setup node 0 0000000000000000-0000000240000000
Aug  1 08:51:04 G*******LNX01 kernel:   NODE_DATA [000000000001b840 - 000000000003183f]
Aug  1 08:51:04 G*******LNX01 kernel:   bootmap [0000000000032000 -  0000000000079fff] pages 48
Aug  1 08:51:04 G*******LNX01 kernel: (9 early reservations) ==> bootmem [0000000000 - 0240000000]
Aug  1 08:51:04 G*******LNX01 kernel:   #0 [0000000000 - 0000001000]   BIOS data page ==> [0000000000 - 0000001000]
Aug  1 08:51:04 G*******LNX01 kernel:   #1 [0000006000 - 0000008000]       TRAMPOLINE ==> [0000006000 - 0000008000]
Aug  1 08:51:04 G*******LNX01 kernel:   #2 [0001000000 - 000224b73c]    TEXT DATA BSS ==> [0001000000 - 000224b73c]
Aug  1 08:51:04 G*******LNX01 kernel:   #3 [0037c4d000 - 0037fef894]          RAMDISK ==> [0037c4d000 - 0037fef894]
Aug  1 08:51:04 G*******LNX01 kernel:   #4 [000009f800 - 0000100000]    BIOS reserved ==> [000009f800 - 0000100000]
Aug  1 08:51:04 G*******LNX01 kernel:   #5 [000224c000 - 000224c1e8]              BRK ==> [000224c000 - 000224c1e8]
Aug  1 08:51:04 G*******LNX01 kernel:   #6 [0000010000 - 0000012000]          PGTABLE ==> [0000010000 - 0000012000]
Aug  1 08:51:04 G*******LNX01 kernel:   #7 [0000012000 - 0000017000]          PGTABLE ==> [0000012000 - 0000017000]
Aug  1 08:51:04 G*******LNX01 kernel:   #8 [0000017000 - 000001b840]       MEMNODEMAP ==> [0000017000 - 000001b840]
Aug  1 08:51:04 G*******LNX01 kernel: found SMP MP-table at [ffff8800000f69b0] f69b0
Aug  1 08:51:04 G*******LNX01 kernel: Zone PFN ranges:
Aug  1 08:51:04 G*******LNX01 kernel:   DMA      0x00000010 -> 0x00001000
Aug  1 08:51:04 G*******LNX01 kernel:   DMA32    0x00001000 -> 0x00100000
Aug  1 08:51:04 G*******LNX01 kernel:   Normal   0x00100000 -> 0x00240000
Aug  1 08:51:04 G*******LNX01 kernel: Movable zone start PFN for each node
Aug  1 08:51:04 G*******LNX01 kernel: early_node_map[4] active PFN ranges
Aug  1 08:51:04 G*******LNX01 kernel:     0: 0x00000010 -> 0x0000009f
Aug  1 08:51:04 G*******LNX01 kernel:     0: 0x00000100 -> 0x000bfee0
Aug  1 08:51:04 G*******LNX01 kernel:     0: 0x000bff00 -> 0x000c0000
Aug  1 08:51:04 G*******LNX01 kernel:     0: 0x00100000 -> 0x00240000
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: PM-Timer IO Port: 0x1008
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] enabled)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] enabled)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] enabled)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] enabled)
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC_NMI (acpi_id[0x05] high edge lint[0x1])
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC_NMI (acpi_id[0x06] high edge lint[0x1])
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: LAPIC_NMI (acpi_id[0x07] high edge lint[0x1])
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
Aug  1 08:51:04 G*******LNX01 kernel: IOAPIC[0]: apic_id 8, version 17, address 0xfec00000, GSI 0-23
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
Aug  1 08:51:04 G*******LNX01 kernel: Using ACPI (MADT) for SMP configuration information
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: HPET id: 0x8086af01 base: 0xfed00000
Aug  1 08:51:04 G*******LNX01 kernel: SMP: Allowing 8 CPUs, 0 hotplug CPUs
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 000000000009f000 - 00000000000a0000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000000a0000 - 00000000000ca000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000000ca000 - 00000000000cc000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000000cc000 - 00000000000dc000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000000dc000 - 0000000000100000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000bfee0000 - 00000000bfeff000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000bfeff000 - 00000000bff00000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000c0000000 - 00000000e0000000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000e0000000 - 00000000f0000000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000f0000000 - 00000000fec00000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000fec00000 - 00000000fec10000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000fec10000 - 00000000fee00000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000fee00000 - 00000000fee01000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000fee01000 - 00000000fffe0000
Aug  1 08:51:04 G*******LNX01 kernel: PM: Registered nosave memory: 00000000fffe0000 - 0000000100000000
Aug  1 08:51:04 G*******LNX01 kernel: Allocating PCI resources starting at c0000000 (gap: c0000000:20000000)
Aug  1 08:51:04 G*******LNX01 kernel: Booting paravirtualized kernel on bare hardware
Aug  1 08:51:04 G*******LNX01 kernel: NR_CPUS:256 nr_cpumask_bits:256 nr_cpu_ids:8 nr_node_ids:1
Aug  1 08:51:04 G*******LNX01 kernel: PERCPU: Embedded 29 pages/cpu @ffff880028200000 s88280 r8192 d22312 u262144
Aug  1 08:51:04 G*******LNX01 kernel: pcpu-alloc: s88280 r8192 d22312 u262144 alloc=1*2097152
Aug  1 08:51:04 G*******LNX01 kernel: pcpu-alloc: [0] 0 1 2 3 4 5 6 7 
Aug  1 08:51:04 G*******LNX01 kernel: Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 2064641
Aug  1 08:51:04 G*******LNX01 kernel: Policy zone: Normal
Aug  1 08:51:04 G*******LNX01 kernel: Kernel command line: ro root=/dev/VolGroup00/LogVol00 rhgb quiet
Aug  1 08:51:04 G*******LNX01 kernel: PID hash table entries: 4096 (order: 3, 32768 bytes)
Aug  1 08:51:04 G*******LNX01 kernel: Initializing CPU#0
Aug  1 08:51:04 G*******LNX01 kernel: xsave/xrstor: enabled xstate_bv 0x7, cntxt size 0x340
Aug  1 08:51:04 G*******LNX01 kernel: Checking aperture...
Aug  1 08:51:04 G*******LNX01 kernel: No AGP bridge found
Aug  1 08:51:04 G*******LNX01 kernel: PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
Aug  1 08:51:04 G*******LNX01 kernel: Placing 64MB software IO TLB between ffff880020000000 - ffff880024000000
Aug  1 08:51:04 G*******LNX01 kernel: software IO TLB at phys 0x20000000 - 0x24000000
Aug  1 08:51:04 G*******LNX01 kernel: Memory: 8183576k/9437184k available (4454k kernel code, 1049156k absent, 204452k reserved, 7191k data, 1720k init)
Aug  1 08:51:04 G*******LNX01 kernel: Hierarchical RCU implementation.
Aug  1 08:51:04 G*******LNX01 kernel: NR_IRQS:4352 nr_irqs:472
Aug  1 08:51:04 G*******LNX01 kernel: Extended CMOS year: 2000
Aug  1 08:51:04 G*******LNX01 kernel: Console: colour VGA+ 80x25
Aug  1 08:51:04 G*******LNX01 kernel: console [tty0] enabled
Aug  1 08:51:04 G*******LNX01 kernel: allocated 83886080 bytes of page_cgroup
Aug  1 08:51:04 G*******LNX01 kernel: please try 'cgroup_disable=memory' option if you don't want memory cgroups
Aug  1 08:51:04 G*******LNX01 kernel: TSC freq read from hypervisor : 2900.001 MHz
Aug  1 08:51:04 G*******LNX01 kernel: Detected 2900.001 MHz processor.
Aug  1 08:51:04 G*******LNX01 kernel: Calibrating delay loop (skipped) preset value.. 5800.00 BogoMIPS (lpj=2900001)
Aug  1 08:51:04 G*******LNX01 kernel: Security Framework initialized
Aug  1 08:51:04 G*******LNX01 kernel: SELinux:  Initializing.
Aug  1 08:51:04 G*******LNX01 kernel: Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes)
Aug  1 08:51:04 G*******LNX01 kernel: Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes)
Aug  1 08:51:04 G*******LNX01 kernel: Mount-cache hash table entries: 256
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys ns
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys cpuacct
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys memory
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys devices
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys freezer
Aug  1 08:51:04 G*******LNX01 kernel: Initializing cgroup subsys net_cls
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Physical Processor ID: 0
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Processor Core ID: 0
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L1 I cache: 32K, L1 D cache: 32K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L2 cache: 256K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L3 cache: 20480K
Aug  1 08:51:04 G*******LNX01 kernel: CPU 0/0x0 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: mce: CPU supports 0 MCE banks
Aug  1 08:51:04 G*******LNX01 kernel: Performance Events: Nehalem/Corei7 events, Intel PMU driver.
Aug  1 08:51:04 G*******LNX01 kernel: ... version:                3
Aug  1 08:51:04 G*******LNX01 kernel: ... bit width:              48
Aug  1 08:51:04 G*******LNX01 kernel: ... generic registers:      4
Aug  1 08:51:04 G*******LNX01 kernel: ... value mask:             0000ffffffffffff
Aug  1 08:51:04 G*******LNX01 kernel: ... max period:             000000007fffffff
Aug  1 08:51:04 G*******LNX01 kernel: ... fixed-purpose events:   3
Aug  1 08:51:04 G*******LNX01 kernel: ... event mask:             000000070000000f
Aug  1 08:51:04 G*******LNX01 kernel: ACPI: Core revision 20090903
Aug  1 08:51:04 G*******LNX01 kernel: ftrace: converting mcount calls to 0f 1f 44 00 00
Aug  1 08:51:04 G*******LNX01 kernel: ftrace: allocating 26665 entries in 105 pages
Aug  1 08:51:04 G*******LNX01 kernel: Setting APIC routing to flat
Aug  1 08:51:04 G*******LNX01 kernel: ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
Aug  1 08:51:04 G*******LNX01 kernel: CPU0: Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz stepping 07
Aug  1 08:51:04 G*******LNX01 kernel: Booting processor 1 APIC 0x1 ip 0x6000
Aug  1 08:51:04 G*******LNX01 kernel: Initializing CPU#1
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Physical Processor ID: 0
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Processor Core ID: 1
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L1 I cache: 32K, L1 D cache: 32K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L2 cache: 256K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L3 cache: 20480K
Aug  1 08:51:04 G*******LNX01 kernel: CPU 1/0x1 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: mce: CPU supports 0 MCE banks
Aug  1 08:51:04 G*******LNX01 kernel: CPU1: Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz stepping 07
Aug  1 08:51:04 G*******LNX01 kernel: Skipping synchronization checks as TSC is reliable.
Aug  1 08:51:04 G*******LNX01 kernel: Booting processor 2 APIC 0x2 ip 0x6000
Aug  1 08:51:04 G*******LNX01 kernel: Initializing CPU#2
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Physical Processor ID: 1
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Processor Core ID: 0
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L1 I cache: 32K, L1 D cache: 32K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L2 cache: 256K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L3 cache: 20480K
Aug  1 08:51:04 G*******LNX01 kernel: CPU 2/0x2 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: mce: CPU supports 0 MCE banks
Aug  1 08:51:04 G*******LNX01 kernel: CPU2: Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz stepping 07
Aug  1 08:51:04 G*******LNX01 kernel: Booting processor 3 APIC 0x3 ip 0x6000
Aug  1 08:51:04 G*******LNX01 kernel: Initializing CPU#3
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Physical Processor ID: 1
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Processor Core ID: 1
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L1 I cache: 32K, L1 D cache: 32K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L2 cache: 256K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L3 cache: 20480K
Aug  1 08:51:04 G*******LNX01 kernel: CPU 3/0x3 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: mce: CPU supports 0 MCE banks
Aug  1 08:51:04 G*******LNX01 kernel: CPU3: Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz stepping 07
Aug  1 08:51:04 G*******LNX01 kernel: Booting processor 4 APIC 0x4 ip 0x6000
Aug  1 08:51:04 G*******LNX01 kernel: Initializing CPU#4
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Physical Processor ID: 2
Aug  1 08:51:04 G*******LNX01 kernel: CPU: Processor Core ID: 0
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L1 I cache: 32K, L1 D cache: 32K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L2 cache: 256K
Aug  1 08:51:04 G*******LNX01 kernel: CPU: L3 cache: 20480K
Aug  1 08:51:04 G*******LNX01 kernel: CPU 4/0x4 -> Node 0
Aug  1 08:51:04 G*******LNX01 kernel: mce: CPU supports 0 MCE banks
Aug  1 08:51:04 G*******LNX01 kernel: CPU4: Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz stepping 07
--More--(17%)

搜索了很多资料,等我还在茫茫大海中苦苦查证时,又连接不上该服务器,该服务器又宕机了。由于没有权限,Lync共享桌面又奇慢无比。求助于我们这边的系统管理员(拥有那边的虚拟机服务器权限),他用vSphere Client连接上去检查时,终于发现一个让人既郁闷又震惊的原因。

这台物理机DELL R720只有32G内存,上面有一个Linux系统、几个Windows系统。但是有于那边管理员添加了测试服务器,所有系统总共分配的内存加起来43G已经超过了原来物理机32G内存,导致系统间资源争用。出现内存资源不足的情况。最后Linux直接宕机的情况。

出现这种情况,一来是由于管理员疏忽,没有注意到实际内存资源分配情况。二来我不知情,信息不足(由于权限问题,我并不了解那边物理机与虚拟机的情况),一直运行的好好的系统,突然出现这个问题,导致我局限在数据库、应用程序、操作系统层面去查找原因。而没有纵览全局,从架构、资源层面去查找问题。导致一直没有查找到根本原因之所在。

解决方案

关闭测试服务器,释放出足够的内存资源。问题解决。然后系统从8月1号运行到现在再也没有出现过这个问题。

参考资料:

>
http://dbanotes.net/database/linux_outofmemory_oom_killer.html
>
http://www.huomo.cn/os/article-16bb4.html

<think>嗯,用户询问的是服务器宕机错误92的故障排查。这个错误代码在Windows系统中常表示"找不到设备驱动程序",但在服务器环境中可能有更复杂的含义。我需要结合引用资料和服务器管理经验来梳理排查思路。 用户提供的引用资料很有价值。引用[3]提到硬件故障、系统参数配置、资源耗尽等问题都可能引发宕机。引用[4]的Ubuntu案例特别指出内存泄漏和性能瓶颈可能导致类似症状。虽然错误92明确指向驱动问题,但实际排查时需要更全面。 首先考虑驱动问题。服务器RAID卡、网卡或GPU的驱动损坏确实会触发错误92。引用[1]强调硬件稳定性的重要性,所以需要检查是否有固件更新。同时引用[3]提到的"系统内核bug"也值得注意,特别是当驱动与内核版本不匹配时。 内存问题也不容忽视。引用[4]的Ubuntu案例显示内存泄漏会导致完全相同的症状:性能下降直至完全无响应。错误92有时会伴随内存转储文件生成,这需要分析dump文件确认是否由驱动模块引起。 资源耗尽方面,引用[3]明确说"机器压力过大可能超出承载能力"。虽然错误92表面是驱动故障,但驱动崩可能是内存/CPU资源耗尽的结果。需要结合监控数据判断是否先有资源枯竭才触发错误。 日志分析最关键。引用[4][5]都强调系统日志(/var/log)和事件查看器的重要性。Windows系统要重点检查System日志中错误92前后的警告事件,Linux则需查看kern.log。引用[5]提到的netstat命令也能帮助确认驱动是否影响网络服务。 最后考虑硬件故障可能性。引用[1][3]都指出内存故障可能伪装成软件错误。特别是带ECC的内存,纠正失败可能被误报为驱动问题。建议用户运行内存诊断工具排除底层硬件故障。 在生成问题时,应该覆盖驱动管理、资源监控、日志分析等核心环节,同时加入实际案例帮助理解。比如引用[4]的Ubuntu内存泄漏案例就很有参考价值,可以转化为具体问题。还要注意提醒数据备份,毕竟引用[2]强调过业务中断的风险。</think>以下是针对服务器宕机错误92(ERROR 92)的故障排查指南,结合系统日志、硬件驱动及资源监控等关键环节: --- ### **一、错误92的核心含义** 在Windows系统中,错误92常表示 **"找不到设备驱动程序"** 或 **"驱动程序初始化失败"**。该错误可能由以下原因触发: 1. **关键硬件驱动损坏**(如RAID卡、网卡、GPU驱动) 2. **系统文件损坏**(驱动文件丢失或注册表异常) 3. **硬件兼容性问题**(新安装设备与系统冲突) 4. **资源冲突**(IRQ中断或内存地址分配错误) --- ### **二、系统级排查步骤** #### **1. 检查系统日志** - **Windows系统**: - 打开 **事件查看器** → **Windows日志** → **系统** - 筛选 `事件ID 92` 或关键词 `Driver failed to initialize` - 定位报错驱动的文件名(如 `nvlddmkm.sys` 对应NVIDIA显卡驱动) - **Linux系统**(参考引用[4][5]): ```bash grep -i "error 92" /var/log/kern.log # 检查内核日志 dmesg | grep -i "failed\|driver" # 查看驱动加载记录 ``` #### **2. 驱动完整性验证** - 使用命令行工具扫描系统文件: ```cmd sfc /scannow # 修复系统文件 dism /online /cleanup-image /restorehealth # 修复镜像 ``` - 卸载问题驱动后重新安装(优先使用设备制造商提供的官方驱动) #### **3. 硬件资源监控** - **排查资源耗尽问题**(引用[3][4]): - 宕机前检查CPU/内存/磁盘I/O峰值: ```bash sar -u 1 10 # Linux CPU监控 perfmon /report # Windows生成性能报告 ``` - 重点监控 **非分页内存池**(Windows)或 **Slab缓存**(Linux),驱动泄漏常导致此处异常增长。 #### **4. 硬件兼容性测试** - 运行硬件诊断工具: - 服务器厂商工具(如Dell的ePSA、HP的Smart Storage Diagnostics) - 内存测试:`memtest86+`(需从U盘启动) - 检查设备管理器中的 **冲突设备**(黄色感叹号) --- ### **三、紧急恢复措施** 1. **安全模式启动**: - 若系统可启动,在安全模式下卸载问题驱动。 2. **系统还原点**: - 回滚到宕机前的健康状态(Windows需提前开启系统保护)。 3. **驱动回滚**: - 设备管理器 → 选中问题设备 → 属性 → 驱动程序 → 回滚驱动。 --- ### **四、预防性优化(引用[2][3])** 1. **驱动管理**: - 禁用自动更新,过厂商订阅获取经过稳定性验证的驱动。 2. **资源隔离**: - 对关键驱动进程设置资源限制(如Windows的Job Objects)。 3. **冗余配置**: - 对网卡、RAID控制器启用多路径冗余(如NIC Teaming)。 4. **日志增强**: ```bash # Linux内核开启详细驱动日志 echo 8 > /proc/sys/kernel/printk ``` > **关键提示**:若错误92伴随 **蓝屏(BSOD)**,需分析内存转储文件(`C:\Windows\Minidump\*.dmp`),使用WinDbg工具运行 `!analyze -v` 定位故障模块。 --- ### **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值