Linux Top命令解释

top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。

linux终端执行Top命令,显示如下:

top - 11:22:40 up 524 days,  3:06,  1 user,  load average: 0.94, 0.88, 0.75
Tasks: 209 total,   8 running, 201 sleeping,   0 stopped,   0 zombie
%Cpu(s): 18.3 us,  4.4 sy,  1.2 ni, 74.7 id,  1.2 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem :  8010704 total,   158652 free,  4631780 used,  3220272 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  3001664 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1536 root      20   0    1544    432    256 S   0.3  0.0 545:37.20 aliyun-service
 9154 root       0 -20  137876  18004   8992 S   0.3  0.5 353:22.87 AliYunDun
    1 root      20   0   43284   3560   2332 S   0.0  0.1  12:09.43 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:20.73 kthreadd
    3 root      20   0       0      0      0 S   0.0  0.0   6:01.99 ksoftirqd/0

...

TOP信息头详解

top - 11:22:40 up 524 days,  3:06,  1 user,  load average: 0.94, 0.88, 0.75

top - 11:22:40 当前系统时间
up 524 days, 3:06 系统已运行了524天
1 user 当前登录服务器的用户数量
load average: 0.94, 0.88, 0.75 系统负载,即任务队列的平均长度。这3个浮点数分别为 1分钟、5分钟、15分钟的平均值。主要以最后一个数值(15分钟)为准。

locad average 详解:系统负荷指当前正在被CPU执行和被等待执行的进程数目。
Load的理想值是CPU的数目。如:1个CPU理想值为1(略低于1),n个CPU理想值为n;如果是多核,类似多CPU。
当Load值低于CPU数目(核数)时,表示CPU有空闲,资源浪费;当Load值高于CPU数目(核数)时,表示进程排队等待CPU调度,此时系统资源不足,影响应用程序的执行性能。
1分钟的系统负荷只是暂时现象,问题不大。应该主要观察"15分钟系统负荷",将它作为服务器正常运行的指标。

Tasks: 209 total,   8 running, 201 sleeping,   0 stopped,   0 zombie 

Tasks: 209 total 总进程数
8 running 正在运行的进程数
201 sleeping 睡眠的进程数
0 stopped 停止的进程数
0 zombie 僵尸进程数

%Cpu(s): 18.3 us,  4.4 sy,  1.2 ni, 74.7 id,  1.2 wa,  0.0 hi,  0.3 si,  0.0 st

%Cpu(s): 18.3 u cpu占用率(%),用户空间占用CPU百分比
4.4 sy 内核空间占用cpu百分比
1.2 ni 用户进程空间内改变过优先级的进程占用CPU百分比
74.7 id 空闲CPU百分比
1.2 wa 等待输入输出的CPU时间百分比
0.0 hi 硬中断(Hardware IRQ)占用CPU的百分比
0.3 si 软中断(Software Interrupts)占用CPU的百分比
0.0 st

KiB Mem :  8010704 total,   158652 free,  4631780 used,  3220272 buff/cache

KiB Mem : 8010704 total 物理内存总量(8G)
158652 free 空闲的内存总量
4631780 used 已使用的内存总量
3220272 buff/cache 用作内核缓存的内存量

KiB Swap:        0 total,        0 free,        0 used.  3001664 avail Mem

KiB Swap: 0 total 交换区总量
0 free 空闲交换区总量
0 used 已使用的交换区总量
3001664 avail Mem 缓冲的交换区总量

TOP信息内容详解

PID 进程号
USER 进程创建者
PR 进程优先级
NI nice值。越小优先级越高,最小-20,最大20(用户设置最大19)
VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR 共享内存大小,单位kb
S 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU 进程占用cpu百分比
%MEM 进程占用内存百分比
TIME+ 进程运行时间
COMMAND 进程名称

PS:

查看电脑有多少个CPU核心
  • cat /proc/cpuinfo命令,可以查看CPU信息。
  • grep -c 'model name' /proc/cpuinfo 命令,直接返回CPU的总核心数。

参考

理解Linux系统负荷 - 阮一峰
linux man Top命令

你可能感兴趣的:(Linux Top命令解释)