top - 20:48:53 up 5 days, 22:18, 2 users, load average: 3.91, 2.18, 1.61
Tasks: 373 total, 1 running, 372 sleeping, 0 stopped, 0 zombie
%Cpu(s): 43.2 us, 5.4 sy, 0.0 ni, 51.1 id, 0.0 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 4044772 total, 219012 free, 2189260 used, 1636500 buff/cache
KiB Swap: 4194300 total, 3617788 free, 576512 used. 1512536 avail Mem
Linux系统上的top命令的输出结果:
20:31:36
表示当前系统时间。up 5 days, 22:01
表示系统已经连续运行了5天22小时1分钟。2 users
表示有两个用户登录到系统上。load average: 2.11, 1.35, 1.11
表示系统在过去1分钟、5分钟和15分钟内的平均负载。这里的平均负载是指正在运行和等待运行的进程数。在这个例子中,系统的负载平均值为2.11、1.35和1.11,这意味着系统在过去的15分钟内有相对较高的负载。
接下来是任务信息:
Tasks: 377 total
表示系统当前运行着377个任务。6 running
表示其中有6个任务正在运行。370 sleeping
表示有370个任务处于休眠状态(即等待被唤醒执行)。0 stopped
表示没有任务被暂停。1 zombie
表示有一个僵尸进程。
最后是CPU和内存使用情况:
-
%Cpu(s): 54.0 us, 4.8 sy, 0.0 ni, 41.1 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
表示CPU使用情况,其中:
us
表示用户空间占用CPU时间的百分比。sy
表示内核空间占用CPU时间的百分比。ni
表示用户进程以优先级较低的方式运行的时间。id
表示CPU空闲的时间。wa
表示CPU等待I/O操作完成的时间。hi
表示CPU处理硬件中断的时间。si
表示CPU处理软件中断的时间。st
表示被虚拟机“偷走”的CPU时间(例如,在虚拟机上运行时)。
-
KiB Mem: 4044772 total, 189120 free, 2377960 used, 1477692 buff/cache
表示内存使用情况,其中:
total
表示系统内存的总量。free
表示未被使用的内存量。used
表示正在使用的内存量。buff/cache
表示缓存和缓冲区占用的内存量。这些是系统使用的额外内存,但是可以释放给应用程序使用。
平均负载
平均负载是一个衡量系统负载的指标,它代表了在特定时间段内正在运行和等待运行的进程数。在Unix和Linux系统中,平均负载由三个数字表示,它们分别是在过去1分钟、5分钟和15分钟内的平均负载。
在一个单核CPU的系统中,如果平均负载为1,那么这意味着CPU在这段时间内的利用率达到了100%。在一个多核CPU的系统中,平均负载的最大值应该是CPU核心数的数量。
通常情况下,如果平均负载超过了CPU核心数的数量,这可能是系统正在受到高负载的影响,进程可能会变得缓慢或响应时间变长。因此,通过监控平均负载可以快速诊断系统性能问题并做出相应的优化。常见的优化措施包括增加CPU、增加内存或优化应用程序性能等。