温馨提示×

centos cpustat命令如何查看历史记录

小樊
40
2025-11-16 02:01:47
栏目: 智能运维

cpustat 命令本身并不提供直接查看历史记录的功能。它主要用于实时监控 CPU 的使用情况。但是,你可以使用其他工具或方法来记录和查看 CPU 使用情况的历史数据。

以下是一些建议的方法:

  1. 使用 sar 命令:

sar 是一个系统性能监控工具,可以收集、报告或保存系统活动信息。要查看 CPU 使用情况的历史记录,你可以运行以下命令:

sar -u <interval> <count>

其中 <interval> 是采样间隔(以秒为单位),<count> 是采样的次数。例如,要每 5 秒采样一次,共采样 3 次,可以运行:

sar -u 5 3

sar 命令会将结果保存在 /var/log/sa/ 目录下的文件中。你可以查看这些文件以获取历史数据。

  1. 使用 atop 命令:

atop 是一个实时监控系统资源使用情况的工具。它可以记录系统活动并在稍后查看。要使用 atop 记录 CPU 使用情况的历史记录,请按照以下步骤操作:

  • 安装 atop(如果尚未安装):
sudo yum install atop
  • 启动 atop 服务:
sudo systemctl start atop
  • 使用 atop 记录数据:
sudo atop -w /var/log/atop/atop_$(date +%Y%m%d).log 10

这将每 10 秒记录一次系统活动,并将结果保存在 /var/log/atop/ 目录下的文件中。你可以查看这些文件以获取历史数据。

  1. 使用脚本定期记录 CPU 使用情况:

你可以编写一个简单的 shell 脚本,使用 topmpstat 命令定期记录 CPU 使用情况,并将结果保存到文件中。例如:

#!/bin/bash

# 设置输出文件名
output_file="cpu_usage_history.txt"

# 清空输出文件
> $output_file

# 每隔 5 秒记录一次 CPU 使用情况,共记录 3 次
for i in {1..3}
do
  # 获取当前时间戳
  timestamp=$(date "+%Y-%m-%d %H:%M:%S")

  # 使用 top 命令获取 CPU 使用情况,并提取 %us(用户空间占用)和 %sy(内核空间占用)
  cpu_usage=$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%us.*/, *\1 /" | awk '{print $1}' | tr -d '.')

  # 将时间戳和 CPU 使用情况写入输出文件
  echo "$timestamp, $cpu_usage" >> $output_file

  # 等待 5 秒
  sleep 5
done

将此脚本保存为 record_cpu_usage.sh,并使用 chmod +x record_cpu_usage.sh 命令使其可执行。然后运行脚本:

./record_cpu_usage.sh

这将在当前目录下创建一个名为 cpu_usage_history.txt 的文件,其中包含 CPU 使用情况的历史记录。你可以使用文本编辑器查看此文件。

0