在 Linux 系统中,查看 CPU 使用率是系统管理和性能优化的重要任务之一。通过准确了解 CPU 的使用情况,我们可以及时发现系统性能问题、优化进程调度以及进行资源分配的调整。本文将全面解析 Linux 系统中各种查看 CPU 使用率的方法,帮助系统管理员和用户更好地掌握系统性能。

一、top 命令
top 命令是 Linux 系统中最常用的性能监控工具之一,它可以实时显示系统中各个进程的资源使用情况,包括 CPU 使用率。运行 top 命令后,屏幕会显示一个动态的进程列表,其中包含了每个进程的 CPU 使用率、内存使用情况、运行时间等信息。默认情况下,top 命令会以 CPU 使用率排序显示进程列表,我们可以通过按下相应的键来切换排序方式,如按 P 键按 CPU 使用率排序,按 M 键按内存使用情况排序等。在 top 命令的交互界面中,我们还可以通过按下特定的键来获取更多的信息,如按下 h 键可以查看帮助文档,按下 1 键可以显示所有 CPU 的使用情况等。
二、mpstat 命令
mpstat 命令用于实时监控系统中各个 CPU 的使用情况,它可以提供详细的 CPU 统计信息,如 CPU 利用率、中断次数、上下文切换次数等。运行 mpstat 命令后,需要指定监控的时间间隔和次数,默认情况下,mpstat 命令会每隔 1 秒输出一次 CPU 统计信息,共输出 5 次。mpstat 命令的输出结果包括各个 CPU 的平均使用率、用户态 CPU 使用率、系统态 CPU 使用率、等待 I/O 的 CPU 使用率等。通过分析 mpstat 命令的输出结果,我们可以了解系统中各个 CPU 的使用情况是否均衡,是否存在某个 CPU 负载过高的情况。
三、vmstat 命令
vmstat 命令用于监控系统的虚拟内存和进程状态,它也可以提供有关 CPU 使用情况的信息。运行 vmstat 命令后,需要指定监控的时间间隔和次数,默认情况下,vmstat 命令会每隔 1 秒输出一次系统状态信息,共输出 5 次。vmstat 命令的输出结果包括系统的内存使用情况、交换空间使用情况、CPU 使用情况等。其中,CPU 使用情况部分包括了用户态 CPU 使用率、系统态 CPU 使用率、等待 I/O 的 CPU 使用率等。通过分析 vmstat 命令的输出结果,我们可以了解系统的整体性能状况,以及 CPU 使用率与内存使用情况之间的关系。
四、/proc/stat 文件
/proc/stat 文件是 Linux 系统中一个虚拟文件,它记录了系统中各个 CPU 的统计信息,如用户态 CPU 时间、系统态 CPU 时间、空闲 CPU 时间等。我们可以通过读取 /proc/stat 文件来获取 CPU 的使用情况,然后进行相应的计算和分析。以下是一个获取 CPU 使用率的示例脚本:
```bash
#!/bin/bash
# 获取前一次的 CPU 统计信息
prev_total=$(cat /proc/stat | grep 'cpu' | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}')
# 等待 1 秒
sleep 1
# 获取当前的 CPU 统计信息
current_total=$(cat /proc/stat | grep 'cpu' | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}')
# 计算 CPU 使用率
cpu_usage=$(echo "scale=2; ($current_total - $prev_total)" | bc)
echo "CPU 使用率: $cpu_usage%"
```
上述脚本通过读取 /proc/stat 文件获取前一次和当前的 CPU 统计信息,然后计算出 CPU 的使用率。需要注意的是,/proc/stat 文件中的 CPU 统计信息是内核态的,与用户态的 CPU 使用率可能会有所差异。
五、sar 命令
sar 命令是 System Activity Reporter 的缩写,它是一个功能强大的系统性能分析工具,可以用于监控系统的各种资源使用情况,包括 CPU 使用率、内存使用情况、磁盘 I/O 等。运行 sar 命令后,需要指定监控的时间间隔和次数,以及要监控的资源类型,如 CPU、内存、磁盘 I/O 等。sar 命令的输出结果非常详细,可以提供各种统计信息和图表,帮助用户全面了解系统的性能状况。以下是一个获取 CPU 使用率的示例命令:
```bash
sar -u 1 5
```
上述命令将每隔 1 秒输出一次 CPU 的使用情况,共输出 5 次。sar 命令的输出结果包括各个 CPU 的平均使用率、用户态 CPU 使用率、系统态 CPU 使用率、等待 I/O 的 CPU 使用率等。
综上所述,Linux 系统提供了多种查看 CPU 使用率的方法,包括 top 命令、mpstat 命令、vmstat 命令、/proc/stat 文件和 sar 命令等。这些方法各有特点,可以根据具体的需求和场景选择合适的方法来查看 CPU 使用率。通过准确了解 CPU 的使用情况,我们可以及时发现系统性能问题,优化系统性能,提高系统的稳定性和可靠性。