使用情况探究深层次:Linux 查看 CPU 使用情况

1. 引言

Linux 是一种开源操作系统,被广泛应用于服务器和嵌入式设备中。对于系统管理员和开发人员来说,了解和监控 CPU 使用情况是非常重要的。在本篇文章中,我们将探索如何在 Linux 上查看 CPU 使用情况,并深入研究一些深层次的指标。

2. 查看 CPU 使用情况

2.1 top 命令

top 是一个常用的监控进程和系统资源的命令行工具。它可以显示系统中当前运行的进程以及每个进程使用的 CPU 和内存资源。

top

在 top 命令的输出中,可以通过按键 1 来查看每个 CPU 核心的使用情况。其中,%CPU 列显示了每个进程使用的 CPU 百分比。

top - 08:55:23 up 1 day,  3:24,  4 users,  load average: 0.00, 0.01, 0.05

Tasks: 142 total, 1 running, 141 sleeping, 0 stopped, 0 zombie

%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 8169940 total, 5832120 free, 1171460 used, 1166360 buff/cache

KiB Swap: 2097148 total, 2097148 free, 0 used. 6848044 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

10258 root 20 0 97176 7832 3408 R 6.3 0.1 0:00.01 top

1 root 20 0 169224 10760 7828 S 0.0 0.1 0:02.05 systemd

2 root 20 0 0 0 0 S 0.0 0.0 0:00.04 kthreadd

3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp

4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp

...

2.2 sar 命令

sar 是一个系统性能分析工具,它可以收集和报告包括 CPU 使用情况在内的各种系统资源信息。

sar -u

运行 sar 命令时,使用选项 -u 可以显示 CPU 使用率的相关信息。例如,%user 列显示了用户空间程序使用 CPU 的百分比,%nice 列显示了同时运行的用户级别进程的百分比。

Linux 5.4.0-81-generic (ubuntu)   09/19/2022      _x86_64_        (8 CPU)

10:00:01 AM CPU %user %nice %system %iowait %steal %idle

10:10:01 AM all 7.09 24.01 14.67 0.16 0.64 53.38

10:20:01 AM all 4.42 20.02 15.82 0.14 0.41 59.18

10:30:01 AM all 4.68 22.68 16.14 0.18 0.89 55.42

10:40:01 AM all 5.03 19.82 15.92 0.17 0.64 58.42

10:50:01 AM all 4.79 20.29 14.92 0.15 0.47 59.96

11:00:01 AM all 5.92 22.01 16.28 0.17 0.57 55.05

11:10:01 AM all 4.98 20.49 14.78 0.16 0.53 59.06

Average: all 5.30 21.35 15.48 0.16 0.58 57.14

2.3 mpstat 命令

mpstat 提供了多核 CPU 的性能统计信息,并且可以实时显示每个 CPU 的使用情况。

mpstat -P ALL

运行 mpstat 命令时,使用选项 -P ALL 可以显示每个 CPU 核心的使用率。其中,%usr 列显示了用户空间程序使用 CPU 的百分比,%nice 列显示了同时运行的用户级别进程的百分比。

Linux 5.4.0-81-generic (ubuntu)   09/19/2022      _x86_64_        (8 CPU)

05:15:31 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle

05:15:31 PM all 0.80 0.00 0.44 0.00 0.00 0.01 0.00 0.00 98.75

05:15:31 PM 0 0.50 0.00 0.38 0.00 0.00 0.01 0.00 0.00 99.11

05:15:31 PM 1 0.68 0.00 0.36 0.00 0.00 0.01 0.00 0.00 99.95

05:15:31 PM 2 0.51 0.00 0.36 0.00 0.00 0.01 0.00 0.00 99.13

05:15:31 PM 3 1.30 0.00 0.67 0.00 0.00 0.01 0.00 0.00 98.02

05:15:31 PM 4 0.74 0.00 0.38 0.00 0.00 0.01 0.00 0.00 98.87

05:15:31 PM 5 0.63 0.00 0.36 0.00 0.00 0.01 0.00 0.00 99.34

05:15:31 PM 6 0.81 0.00 0.44 0.00 0.00 0.01 0.00 0.00 98.75

05:15:31 PM 7 0.66 0.00 0.38 0.00 0.00 0.01 0.00 0.00 99.29

3. 深层次的 CPU 使用情况

3.1 CPU 温度

CPU 温度是一个重要的指标,它反映了 CPU 的热量释放和散热情况。可以使用一些工具来监控 CPU 温度。

sensors

运行 sensors 命令可以查看 CPU 的温度信息。

coretemp-isa-0000

Adapter: ISA adapter

Package id 0: +48.0°C (high = +80.0°C, crit = +100.0°C)

Core 0: +46.0°C (high = +80.0°C, crit = +100.0°C)

Core 1: +48.0°C (high = +80.0°C, crit = +100.0°C)

Core 2: +45.0°C (high = +80.0°C, crit = +100.0°C)

Core 3: +47.0°C (high = +80.0°C, crit = +100.0°C)

在输出中,可以看到每个 CPU 核心的温度信息。通常,高于 80°C 的温度应引起注意,而达到 100°C 则可能引起系统故障。

3.2 命令行工具

除了 top、sar 和 mpstat 命令之外,还有其他一些命令行工具可以用于监控 CPU 使用情况。

- vmstat:提供了有关系统内存、进程、用户和 CPU 使用情况的信息。

- pidstat:用于监视进程和各个进程线程的 CPU 使用情况。

- htop:是 top 命令的改进版本,提供了更加友好和交互式的界面。

4. 结论

了解和监控 CPU 使用情况是系统管理员和开发人员的重要任务。本文介绍了在 Linux 上查看 CPU 使用情况的几种常用命令,包括 top、sar 和 mpstat。此外,我们还了解了如何获取 CPU 温度信息以及其他一些命令行工具。

通过充分利用这些工具,我们可以深入了解系统的性能,并及时采取相应的措施来优化系统的性能和稳定性。

操作系统标签