文章目录
- 介绍 `top` 命令
- 1. `top` 的基本功能
- 2. 如何启动 `top`
- 3. `top` 的输出解释
- 系统概况
- 任务和 CPU 使用情况
- 内存和交换空间
- 进程信息
- 4. 常用操作
- 总结
- 查看逻辑CPU的个数
- 查看系统运行时间
介绍 top
命令
top
是一个在类 Unix 系统中广泛使用的命令行工具,用于实时显示系统的资源使用情况。它提供了有关 CPU、内存、进程等的详细信息,使用户能够监控系统的性能和健康状态。以下是对 top
命令及其主要功能的详细介绍。
1. top
的基本功能
- 实时监控:
top
实时显示系统的资源使用情况,包括 CPU 和内存使用、任务状态等。 - 动态更新: 输出信息会定期更新,默认每 3 秒刷新一次,但用户可以根据需要调整刷新频率。
- 进程管理:
top
列出了当前运行的进程,并提供了多种操作来管理这些进程,如排序、杀死进程等。
2. 如何启动 top
在终端中输入 top
并按回车,即可启动 top
命令。启动后,你将看到一个包含系统资源和进程信息的动态更新的界面。
3. top
的输出解释
top
命令的输出分为几个主要部分,每个部分提供不同类型的信息:
top - 14:11:32 up 1023 days, 23:10, 2 users, load average: 0.00, 0.01, 0.05
Tasks: 118 total, 1 running, 116 sleeping, 0 stopped, 1 zombie
%Cpu(s): 3.2 us, 3.2 sy, 0.0 ni, 93.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3880184 total, 407804 free, 630472 used, 2841908 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 2950964 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 52964 4000 2460 S 0.0 0.1 122:54.86 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:16.26 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 56:48.31 ksoftirqd/0
7 root rt 0 0 0 0 S 0.0 0.0 17:36.28 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 443:35.78 rcu_sched
10 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 lru-add-drain
11 root rt 0 0 0 0 S 0.0 0.0 3:37.92 watchdog/0
12 root rt 0 0 0 0 S 0.0 0.0 3:07.31 watchdog/1
13 root rt 0 0 0 0 S 0.0 0.0 17:39.39 migration/1
14 root 20 0 0 0 0 S 0.0 0.0 47:57.19 ksoftirqd/1
16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/1:0H
18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
20 root 20 0 0 0 0 S 0.0 0.0 0:23.32 khungtaskd
21 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback
22 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
23 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset
系统概况
top - 14:11:32 up 1023 days, 23:10, 2 users, load average: 0.00, 0.01, 0.05
- 当前时间 (
14:11:32
): 显示系统当前时间。 - 系统运行时间 (
up 1023 days, 23:10
): 系统从上次启动以来的运行时间。 - 登录用户数 (
2 users
): 当前系统中的登录用户数量。 - 负载均衡 (
load average: 0.00, 0.01, 0.05
): 系统负载平均值,分别表示过去1分钟、5分钟和15分钟的平均负载。较低的负载表示系统负荷较轻。
任务和 CPU 使用情况
Tasks: 118 total, 1 running, 116 sleeping, 0 stopped, 1 zombie
%Cpu(s): 3.2 us, 3.2 sy, 0.0 ni, 93.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- 任务状态 (
Tasks
): 显示当前系统中的任务状态,包括总任务数、运行中的任务、休眠中的任务、停止的任务和僵尸任务数量。 - CPU 使用情况 (
%Cpu(s)
): 显示 CPU 的使用情况,包括用户空间、系统空间、空闲、等待 I/O 操作、硬中断、软件中断等的占比。
内存和交换空间
KiB Mem : 3880184 total, 407804 free, 630472 used, 2841908 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 2950964 avail Mem
- 内存使用情况 (
KiB Mem
): 显示系统内存的总量、已用量、空闲量以及缓冲区和缓存的占用量。 - 交换空间使用情况 (
KiB Swap
): 显示系统交换空间的总量、已用量和空闲量。
进程信息
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 52964 4000 2460 S 0.0 0.1 122:54.86 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:16.26 kthreadd
4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
- PID: 进程 ID。
- USER: 启动进程的用户。
- PR: 进程优先级。
- NI: 进程的 nice 值(优先级调整)。
- VIRT: 进程使用的虚拟内存总量。
- RES: 进程实际使用的物理内存量。
- SHR: 进程使用的共享内存量。
- S: 进程状态(如运行中、休眠中、僵尸等)。
- %CPU: 进程使用的 CPU 百分比。
- %MEM: 进程使用的内存百分比。
- TIME+: 进程使用的总 CPU 时间。
- COMMAND: 启动进程的命令。
4. 常用操作
- 排序: 按下
P
键可以按 CPU 使用率排序,按下M
键可以按内存使用量排序。 - 终止进程: 按下
k
键并输入进程 ID,可以终止指定的进程。 - 刷新间隔: 按下
d
键并输入秒数,可以调整信息的刷新频率。
总结
top
命令是一个强大的系统监控工具,可以帮助用户实时查看系统资源使用情况、管理进程并诊断系统问题。通过理解 top
的输出,你可以更好地掌握系统的运行状态,进行性能优化和故障排查。
查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
查看系统运行时间
cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系统已运行:%d天%d时%d分%d秒",run_days,run_hour,run_minute,run_second)}'