在 CentOS 系统中,cpustat 是一个强大的工具,用于监控和分析 CPU 的使用情况。为了更全面地监控系统性能,通常需要将 cpustat 与其他监控工具结合使用。以下是一些结合使用的方法和示例:
top 或 htop 使用top 和 htop 提供了实时的系统监控界面,包括 CPU 使用率、内存使用情况等。你可以先运行 top 或 htop 来获取一个整体的系统视图,然后使用 cpustat 来获取更详细的 CPU 统计信息。
# 使用 cpustat 获取 CPU 使用情况
sudo cpustat -P ALL
# 使用 top 查看具体进程的详细信息
top
vmstat 使用vmstat 报告关于进程、内存、分页、块 I/O、陷阱和 CPU 活动的信息。你可以同时运行 vmstat 和 cpustat 来分别获取系统级和 CPU 级的详细信息。
# 运行 vmstat
vmstat
# 运行 cpustat
cpustat
iostat 使用iostat 提供了 CPU 使用情况和磁盘 I/O 统计信息。结合使用 iostat 和 cpustat 可以帮助你分析 CPU 性能问题是否与磁盘 I/O 有关。
# 运行 iostat
iostat -xc 1 5
# 运行 cpustat
cpustat -p ALL 1 5
你可以编写一个 shell 脚本,定期运行 cpustat 并将输出保存到日志文件中。同时,你可以在脚本中加入其他命令,如 top、vmstat 或 iostat,并将它们的输出也保存到日志文件中。这样,你就可以通过分析日志文件来监控系统的性能变化。
#!/bin/bash
# 每隔 5 秒运行一次 cpustat 和 vmstat,并将输出保存到日志文件中
while true; do
cpustat -p ALL 1 > cpu_usage.log &
vmstat 1 > vmstat_output.log &
sleep 5
done
watch 命令实时监控watch 命令可以定期执行指定的命令并显示其输出。例如,你可以使用以下命令每秒刷新一次 cpustat 的输出。
# 每秒刷新一次 cpustat 的输出
watch -n 1 "cpustat -P ALL"
perf 使用perf 是 Linux 性能分析工具,提供了丰富的性能监控和分析功能。你可以结合使用 cpustat 和 perf 来获取更全面的性能数据,并进行深入分析。
# 使用 perf 记录 CPU 性能数据
sudo perf record -g
# 使用 perf report 分析数据
sudo perf report
dstat 进行多指标监控dstat 是一个多功能的实时监控工具,可以同时显示 CPU、内存、磁盘 I/O、网络流量等多个系统指标。通过将 cpustat 的输出与 dstat 结合,可以更全面地了解系统的运行状况。
# 安装 dstat
sudo yum install dstat
# 使用 dstat 同时监控 CPU、内存、磁盘和网络
dstat -c -d -m -n 1
cgroups 进行 CPU 占用率控制cgroups 是 Linux 内核的一个功能,可以创建 CPU 资源组并设置 CPU 使用配额。通过将 cpustat 与 cgroups 结合,可以实现对 CPU 占用率的精准控制。
# 安装 sysstat
sudo yum install sysstat
# 创建控制组
sudo mkdir -p /sys/fs/cgroup/cpu/highcpu
# 设置 CPU 配额
echo 100000 | sudo tee /sys/fs/cgroup/cpu/highcpu/cpu.cfs_period_us
echo 80000 | sudo tee /sys/fs/cgroup/cpu/highcpu/cpu.cfs_quota_us
# 监控 CPU 使用
mpstat -P ALL 1
通过以上方法,你可以将 cpustat 与其他工具结合使用,实现对系统性能的全方位监控和管理。