在 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
与其他工具结合使用,实现对系统性能的全方位监控和管理。