不知道顶部平均负载高

不知道顶部平均负载高

我们在 Amazon(ec2)上有几台类型为 c1.xlarge 且配备 16 个 CPU 的机器,运行着 Amazon AMI。

机器的详细信息:
7 GB 内存
20 个 EC2 计算单元(8 个虚拟核心,每个核心有 2.5 个 EC2 计算单元)
1690 GB 实例存储
64 位平台
I/O 性能:高
API 名称:c1.xlarge

自从几周前我们运行了最后一次 yum 升级以来,其中一台机器的平均负载很高。我们还没有更新其他机器,它们看起来一切正常。

奇怪的是,top 命令没有显示任何有关 负载原因的提示。CPU 为4.8%us1.1%sy0.0%ni94.1%id0.0%wa0.0%hi, (见下文)。内存大约有 1.5GB 可用。0.0%si0.0%st

知道可能是什么吗?或者我们还能在哪里检查?非常感谢您的帮助。

#
# top
#
top - 07:57:42 up  4:18,  1 user,  load average: 1.36, 1.45, 1.47
Tasks: 131 total,   1 running, 130 sleeping,   0 stopped,   0 zombie
Cpu(s):  4.8%us,  1.1%sy,  0.0%ni, 94.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   7120092k total,  5644920k used,  1475172k free,   532888k buffers
Swap:        0k total,        0k used,        0k free,  3463936k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1557 mysql     20   0 1829m 374m 6448 S 14.3  5.4  11:15.09 mysqld
 6655 apache    20   0  416m  49m 3744 S  9.3  0.7   0:04.85 httpd
27683 apache    20   0  421m  54m 3708 S  9.0  0.8   0:00.99 httpd
 6682 apache    20   0  424m  57m 3788 S  8.3  0.8   0:03.81 httpd
16816 apache    20   0  419m  51m 3760 S  4.3  0.7   0:04.09 httpd
22182 apache    20   0  417m  50m 3756 S  1.7  0.7   0:06.34 httpd
  219 root      20   0     0    0    0 S  0.3  0.0   0:00.34 kworker/7:1
  699 root      20   0     0    0    0 S  0.3  0.0   0:00.40 kworker/3:1
    1 root      20   0 19376 1508 1212 S  0.0  0.0   0:00.29 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd

3 根 20 0 0 0 0 S 0.0 0.0 0:00.71 ksoftirqd/0

在适当的机器上运行“iostat”命令:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           8.97    0.03    4.46    0.19    0.14   86.23

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
xvdap1            1.60         0.69        55.38     587620   47254184
xvdfp2            2.64         1.10        61.04     934786   52091056
xvdfp4            0.86         0.19        41.72     163866   35601920
xvdfp1            4.37        36.59        73.89   31220810   63051504
xvdfp3            8.03         7.08        94.63    6045402   80749184

有问题的机器上的“iostat”命令:

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           9.29    0.04    5.55    0.26    0.11   84.74

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
xvdap1            2.13         3.34        68.85     246244    5077888
xvdfp1            7.60        74.31       104.88    5480362    7734840
xvdfp3           13.22        73.67       125.00    5433386    9218600
xvdfp4            1.11         0.76        65.08      55762    4799248
xvdfp2            4.16         3.31        99.17     243818    7313264

有人知道我需要做什么吗?

谢谢

答案1

有了 8 个虚拟核心,平均负载 1.4 并不算高,也没什么好担心的(在平均负载达到 8 之前,您都是安全的)。但仅根据顶部输出,根本没有足够的信息来进一步帮助您。而且考虑到机器只运行了 4 个小时 - MySQL 可能仍在准备所有缓存。

可能是它的 I/O,而亚马逊没有提供正确的信息以便iowait进行准确绘图(对于 VPS 来说相当典型)。

  1. 运行iostat并发布结果。
  2. Munin机器运行几天后,开始绘制图表并报告一些统计数据。

答案2

高平均负载可能是由 I/O 问题引起的。

尝试运行 iostat -x 10 10

并观察等待%工具随着时间的推移。

  • await – 每个 IO 请求完成所需的平均时间。这包括请求在队列中等待的时间以及设备处理请求所需的时间

  • %util:这个数字表示设备处理请求所花费的时间百分比。

相关内容