cpustat 是一个用于监控 CPU 使用情况的工具,它是 sysstat 包的一部分。在 Ubuntu 集群中,你可以通过以下步骤来应用 cpustat:
安装 sysstat 包:
如果你的 Ubuntu 系统还没有安装 sysstat,你可以使用以下命令来安装它:
sudo apt-get update
sudo apt-get install sysstat
在单个节点上使用 cpustat:
安装完成后,你可以在任何节点上使用 cpustat 命令来查看 CPU 的实时使用情况。例如:
cpustat -u 1
这将每秒更新一次 CPU 使用率的详细信息。
在集群中收集数据:
如果你想在集群中的所有节点上收集 CPU 使用数据,你可以编写一个简单的脚本来自动化这个过程。例如,你可以创建一个名为 collect_cpu_stats.sh 的脚本:
#!/bin/bash
# 集群节点列表
NODES=("node1" "node2" "node3")
# 收集数据的持续时间(秒)
DURATION=60
# 输出文件
OUTPUT_FILE="cpu_stats_$(date +%Y%m%d%H%M%S).csv"
# 开始收集数据
echo "timestamp,node1_cpu_usage,node2_cpu_usage,node3_cpu_usage" > $OUTPUT_FILE
for ((i=0; i<DURATION; i++)); do
for NODE in "${NODES[@]}"; do
# 在每个节点上执行 cpustat 并获取输出
CPU_USAGE=$(ssh $NODE "cpustat -u 1 1 | awk 'NR>1 {print $1}'")
echo "$((i+1)),$CPU_USAGE" >> $OUTPUT_FILE
done
sleep 1
done
echo "Data collection finished. Output saved to $OUTPUT_FILE"
在这个脚本中,你需要将 NODES 数组替换为你的集群节点的实际主机名或 IP 地址。DURATION 变量指定了数据收集的持续时间(以秒为单位)。脚本会在指定的持续时间内,每隔一秒从每个节点收集 CPU 使用率数据,并将其保存到一个 CSV 文件中。
运行脚本: 给脚本执行权限并运行它:
chmod +x collect_cpu_stats.sh
./collect_cpu_stats.sh
脚本执行完成后,你会在当前目录下得到一个包含所有节点 CPU 使用率的 CSV 文件。
请注意,为了能够通过 SSH 在集群节点之间执行命令,你需要确保你有适当的权限和配置,例如设置 SSH 密钥认证,以便无需手动输入密码即可登录到其他节点。