一段时间以来,我的一台服务器开始崩溃。 目前它几乎每天都在崩溃。 有时候,一天一次。 只有重新启动才能解决。
上次发生问题时,服务器负载超过了1.000,但服务器速度不是很慢,但我无法访问向mysql发出请求的网站。
根据命令iostat -dx 1没有数据被写入磁盘。 这是不正常的。 服务器上的一些网站需要大量的数据写入。 所以我能想象的是一个磁盘问题。
Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 28.00 0.00 67.00 0.00 760.00 11.34 0.17 2.46 0.04 0.30 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 28.00 0.00 67.00 0.00 760.00 11.34 0.17 2.46 0.04 0.30 sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 665.00 0.00 47.00 0.00 5696.00 121.19 0.24 5.15 0.17 0.80 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 665.00 0.00 47.00 0.00 5696.00 121.19 0.24 5.15 0.17 0.80 sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Device: rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util sda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda3 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
我分析了几秒钟的iostat数据,%util值在任何时候都没有变化超过80%。 由于我主持的网站,什么是不正常的。
当服务器工作正常时,SDA和SDA2%util值几乎一直超过30%
这是最高命令数据,而服务器正面临问题:请注意,97.1%的sy是非常高的值。
top - 15:47:05 up 1 day, 17:14, 1 user, load average: 1492.16, 979.45, 435.51 Tasks: 1808 total, 1501 running, 307 sleeping, 0 stopped, 0 zombie Cpu(s): 2.9%us, 97.1%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 12290048k total, 12194552k used, 95496k free, 804172k buffers Swap: 1052248k total, 5092k used, 1047156k free, 8652196k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 8795 nobody 25 0 205m 8344 2176 R 2.0 0.1 0:05.43 httpd 9039 nobody 25 0 205m 8344 2176 R 2.0 0.1 0:04.45 httpd 10529 root 15 0 14076 2436 820 R 2.0 0.0 0:00.23 top 7995 nobody 21 0 213m 16m 7220 R 1.6 0.1 0:06.03 httpd 8044 nobody 20 0 206m 12m 5024 R 1.6 0.1 0:03.66 httpd 8491 nobody 25 0 210m 16m 6772 R 1.6 0.1 0:05.45 httpd 8492 nobody 21 0 210m 15m 6240 R 1.6 0.1 0:04.56 httpd 8737 nobody 25 0 205m 9640 3380 R 1.6 0.1 0:04.78 httpd 8767 nobody 25 0 205m 8344 2176 R 1.6 0.1 0:05.02 httpd 8776 nobody 25 0 205m 8452 2264 R 1.6 0.1 0:04.98 httpd 8779 nobody 25 0 205m 8520 2340 R 1.6 0.1 0:05.05 httpd 8815 nobody 25 0 205m 8452 2272 R 1.6 0.1 0:04.89 httpd 8818 nobody 25 0 205m 8456 2276 R 1.6 0.1 0:04.66 httpd 8836 nobody 25 0 205m 8444 2272 R 1.6 0.1 0:04.65 httpd 8846 nobody 25 0 205m 8428 2240 R 1.6 0.1 0:04.49 httpd 8854 nobody 25 0 205m 8376 2200 R 1.6 0.1 0:03.61 httpd 8886 nobody 25 0 205m 8344 2176 R 1.6 0.1 0:03.09 httpd
我已经重新启动它,现在它工作正常,但这个问题一直在发生….
我的磁盘在RAID中。 根据这些日志,这真的是一个磁盘问题?
检查您的RAID控制器状态以查看磁盘的运行状况。 在大多数I / O密集型线程上使用strace ,看看他们在做什么。 用ls -l /proc/<PID>/fd该进程的所有文件描述符,并尝试找出哪个文件正在写入。
使用带有topio选项的topio来查找大多数I / O扩展的进程。 或者你可以使用iotop
您可以使用systemtap进一步调查,看看是否是FS,磁盘/控制器或用户空间问题。
你在这里给的是没有日志。 您只能提供服务器状态。
所以从你“logging”它看起来干净,但这既不是一个certificate,也不是一个抵抗。 检查磁盘检查工具,查看SMART信息,注意I / O错误或其他。 但是,不要认为top输出显示磁盘错误!
重要提示:请注意专业人士的帮助。 你问了18个问题,其中8个是关于同样的问题。 你没有提供任何信息,也不接受任何答案,而只是用其他词语来重述同一个问题,并总是责备另一个罪魁祸首。