抱歉,如果我在网站上的操作不正确,这是我第一次来这里(以前用过 stackoverflow)。我有一台运行 Plesk 的 centos 5.2 服务器,技术支持人员拒绝调查此事,因为他们一直说我应该重新启动,但这并不是真正的解决方案,因为这种情况经常发生(可能每周一次)。
我必须承认我对 Linux 并不是很感兴趣,但是我知道如何使用它,而且这是服务器关闭之前系统显示的消息,有人可以证实我的怀疑,即这是由于内存不足造成的吗?
Dec 7 20:56:24 ns2435 kernel: [<c10d67f7>] ? handle_mm_fault+0xf7/0x190
Dec 7 20:57:08 ns2435 kernel: [<c10598e4>] ? do_page_fault+0x164/0x3f0
Dec 7 20:57:26 ns2435 kernel: [<c10f2757>] ? filp_close+0x47/0x70
Dec 7 20:57:38 ns2435 kernel: [<c1037df0>] ? do_device_not_available+0x0/0x20
Dec 7 20:57:44 ns2435 xinetd[4186]: START: smtp pid=10839 from=86.11.75.60
Dec 7 20:57:56 ns2435 kernel: [<c1037dc4>] ? math_state_restore+0x24/0x50
Dec 7 21:02:31 ns2435 kernel: [<c1059780>] ? do_page_fault+0x0/0x3f0
Dec 7 21:02:41 ns2435 kernel: [<c19b42ba>] ? error_code+0x5a/0x60
Dec 7 21:02:42 ns2435 kernel: [<c1059780>] ? do_page_fault+0x0/0x3f0
Dec 7 21:02:45 ns2435 kernel: Mem-Info:
Dec 7 21:02:45 ns2435 kernel: DMA per-cpu:
Dec 7 21:02:45 ns2435 kernel: CPU 0: hi: 0, btch: 1 usd: 0
Dec 7 21:02:49 ns2435 kernel: CPU 1: hi: 0, btch: 1 usd: 0
Dec 7 21:02:59 ns2435 kernel: Normal per-cpu:
Dec 7 21:03:08 ns2435 kernel: CPU 0: hi: 186, btch: 31 usd: 102
Dec 7 21:03:10 ns2435 kernel: CPU 1: hi: 186, btch: 31 usd: 84
Dec 7 21:02:58 ns2435 xinetd[4186]: START: smtp pid=10862 from=66.220.144.146
Dec 7 21:27:21 ns2435 kernel: active_anon:55616 inactive_anon:55680 isolated_anon:192
Dec 7 21:27:26 ns2435 xinetd[4186]: START: smtps pid=10924 from=86.11.75.60
Dec 7 21:27:29 ns2435 kernel: active_file:216 inactive_file:399 isolated_file:0
Dec 7 21:27:31 ns2435 xinetd[10862]: warning: can't get client address: Connection reset by peer
Dec 7 21:27:32 ns2435 xinetd[4186]: START: submission pid=10928 from=86.11.75.60
Dec 7 21:27:32 ns2435 kernel: unevictable:0 dirty:0 writeback:155 unstable:0
Dec 7 21:27:35 ns2435 xinetd[4186]: START: smtp pid=10931 from=86.11.75.60
Dec 7 21:27:35 ns2435 kernel: free:1349 slab_reclaimable:965 slab_unreclaimable:4086
Dec 7 21:27:38 ns2435 xinetd[4186]: START: smtps pid=10932 from=86.11.75.60
Dec 7 21:27:38 ns2435 kernel: mapped:221 shmem:25 pagetables:2663 bounce:0
Dec 7 21:27:40 ns2435 kernel: DMA free:2052kB min:88kB low:108kB high:132kB active_anon:6076kB inactive_anon:6308kB active_file:20kB inactive_file:252kB un$
Dec 7 21:27:43 ns2435 kernel: lowmem_reserve[]: 0 484 484 484
Dec 7 21:27:43 ns2435 kernel: Normal free:3344kB min:2768kB low:3460kB high:4152kB active_anon:216388kB inactive_anon:216412kB active_file:844kB inactive_f$
Dec 7 21:27:40 ns2435 xinetd[4186]: START: submission pid=10933 from=86.11.75.60
Dec 7 21:27:56 ns2435 kernel: lowmem_reserve[]: 0 0 0 0
答案1
如果可能的话,您应该尝试更新到 CentOS 5.7,但这里有一些指示可以帮助您诊断问题:
使用“top”查看您的内存使用情况,查看有多少可用内存,以及缓存和缓冲区使用了多少内存(为了简单起见,可以将其视为“未使用”)。
您可以尝试使用 cacti 之类的工具来监控一段时间内的内存使用情况。这样,当系统再次崩溃时,您就可以看到崩溃前的情况。
如果可用内存不足,则可能导致崩溃。如果不是这种情况,则可能是内存不足或其他硬件问题。
尝试安装 memtest86 并运行它。
答案2
你需要发出以下命令来分析 12 月 7 日发生的事情
sar -f /var/logs/sa/sa07
将为您提供 12 月 7 日全天 CPU 使用率报告的信息
sar -n -f /var/logs/sa/sa07
将为您提供12月07日全天网络使用情况报告
sar -r -f /var/logs/sa/sa07
将为您提供 12 月 07 日全天内存使用情况报告的信息
如果您喜欢检查月份中的其他日期,例如 17 号,则需要发出以下命令:
sar --f /var/logs/sa/sa17
sar -n -f /var/logs/sa/sa17
sar -b -f /var/logs/sa/sa17
sar -r -f /var/logs/sa/sa17
答案3
此内核日志似乎确实指向内存耗尽。如果服务器没有 Plesk 建议的运行内存量,那么您可能会遇到与系统其余部分争用内存的问题。如果服务器运行多个逻辑服务,这种情况可能会加剧。
答案4
在升级内核之前不要排除硬件故障。 远的更可能是 MM 和该版本内核的已知错误,而不是你的内存芯片/宇宙射线。
谷歌“handle_mm_fault”和您的内核版本。
阅读内存处理 - 如果您不了解linux倾向于使用所有内存,那么free的输出会产生误导。
谷歌搜索“linux 吃掉了我的内存”