一、CPU 相关参数
top 命令默认显示 CPU 使用率相关参数,这里针对 top 命令关于 CPU 方面的几个参数进行详解。
1.1 %Cpu(s)
%Cpu(s) 是 top 中第一行的一个参数,用于显示 CPU 的使用情况。该参数包含了用户态、内核态、等待 I/O 操作、硬中断、软中断的 CPU 使用率。具体说明如下:
%Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 98.7 id, 0.7 wa, 0.0 hi, 0.0 si, 0.0 st
us 表示用户态 CPU 的使用占比,sy 表示内核态 CPU 的使用占比,ni 表示用户进程的优先级,id 表示 CPU 空闲时间占比,wa 表示等待 I/O 操作的 CPU 占比,hi 表示硬件中断的 CPU 占比,si 表示软中断的 CPU 占比,st 表示被虚拟机偷走 CPU 的占比。
1.2 load average
load average 用于显示系统活动状况的参数。load average 参数的含义是过去 1 分钟、5 分钟、15 分钟的平均负载。因此,如果这个参数大于 CPU 核心数,则表明 CPU 的负载已经超出了其能力范围,需要进一步进行优化。
load average: 0.93, 1.61, 1.80
二、内存相关参数
除了 CPU 相关的参数之外,top 命令还可以看到内存相关的参数。这里我们将会重点介绍两个与内存相关的参数,以及它们的含义。
2.1 KiB Mem
该参数用于输出内存的总量,以及可用的内存数量。在一些服务器中,KiB Mem 这个参数是非常有用的,可以帮助管理员了解服务器内存占用情况,防止内存泄露等情况。
KiB Mem : 2049652 total, 400984 free, 1407516 used, 238152 buff/cache
2.2 KiB Swap
该参数用于显示交换分区当前的状态。交换分区一般用于在内存不够用时,为系统提供额外的内存。如果在交换分区的使用率非常高时,就会导致系统变得非常缓慢。因此,使用 top 命令观察 KiB Swap 可以帮助管理员了解交换分区的使用情况。
KiB Swap: 1048572 total, 990092 free, 58548 used. 478824 avail Mem
三、进程相关参数
top 命令最常用的用途是查看系统中正在运行的进程。该命令可以输出 CPU 使用率、内存使用率、以及进程的 PID 和名称等信息。这里我们将重点介绍与进程相关的两个参数。
3.1 PID
每个进程都有一个 PID(进程标识符),是由内核分配给这个进程的唯一标识符。PID 参数用于显示系统中运行的进程的 PID 号。通过 PID,我们可以使用 kill 命令结束这个进程。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 6677 root 20 0 5359232 280760 20732 S 16.7 2.8 32:01.81 java
3.2 %CPU %MEM
%CPU %MEM 这两个参数用于显示进程的 CPU 和内存使用情况。如果某个进程的 CPU 使用率或者内存使用率过高,则说明这个进程可能有问题。
6677 root 20 0 5359232 280760 20732 S 16.7 2.8 32:01.81 java
四、线程相关参数
较新的版本的 top 命令已经开始支持显示线程的参数。这里我们将重点介绍与线程相关的两个参数。
4.1 tasks
该参数用于显示线程的数量。其中,running 表示正在执行的线程数量、sleeping 表示休眠的线程数量、stopped 表示已经停止的线程数量、Zombie 表示僵尸线程的数量。
Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie
4.2 load average
load average 也可以用于显示线程的数量。此时,load average 将会显示活动线程的数量,而不是活动进程的数量。
load average: 0.93, 1.61, 1.80
五、其他参数
除了以上讨论的几个参数,top 命令还有许多其他有用的参数。这里我们将会介绍一些比较常用的参数。
5.1 uptime
uptime 用于显示系统运行时间和系统平均负载。该参数的格式如下:
18:58:38 up 10 days, 4:07, 2 users, load average: 0.01, 0.04, 0.05
其中,最后的 load average 参数就是系统平均负载。
5.2 Tasks
该参数用于显示进程的总数、正在运行的进程数、休眠的进程数、已经停止的进程数、僵尸进程的数量。
Tasks: 464 total, 1 running, 462 sleeping, 0 stopped, 1 zombie
5.3 Press 'q' or 'Ctrl-C' to quit
顾名思义,该参数用于退出 top 命令。
总结
本文对于 top 命令的常用参数进行了详细的解释。通过了解这些参数,我们可以更好地理解系统的运行状态,避免出现一些问题。同时,我们也可以根据这些参数的变化,及时进行系统的优化与调整。