需要获得一个月的平均等待时间

需要获得一个月的平均等待时间

我对Linux不太熟悉。因此,对于其他人来说,这可能是一个简单的问题。当我们跑步时顶部c 命令 - 我们获得服务器上当前状态的平均等待时间(wa)。我需要知道过去 1 个月的平均等待时间是多少。有什么办法可以得到这些信息吗?

答案1

您需要定期记录该信息并将其保存一个月。

有一些工具可以进行资源使用跟踪,例如sysstatatop

至少在atopDebian 上,每 10 分钟采样一次的信息存储在/var/log/atop.

可以通过以下命令查询全局CPU使用率信息

atop -r /path/to/log/file -PCPU

手册atop页为您提供了该输出的描述,您会发现对于每一行,第 6 个字段报告该周期内的秒数,第 7 个字段报告每秒的 CPU 滴答数,第 13 个字段报告每秒的 CPU 滴答数。等待滴答声。

所以假设使用 GNU 工具,你可以这样做:

start=$(date -d '1 month ago' +%s)
find /var/log/atop -maxdepth 1 -name 'atop_[0-9]*' \
  -newermt "@$start" -exec atop -r {} -PCPU \; |
  awk -v start="$start" '
    $3 >= start {t += $6 * $7; w += $13}
    END {printf "%.2f%%\n", w * 100 / t}'

答案2

您应该能够使用sysstat, sar,...更长时间地监控系统性能

在互联网上查找这些程序。这是一个开始链接:https://www.thegeekstuff.com/2011/03/sar-examples/

相关内容