Linux top命令显示数据含义

top命令

top命令经常用来监控Linux的系统状况,比如cpu、内存的使用。

本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序。

top命令数据含义

top - 14:03:50 up 484 days, 19:57,  0 users,  load average: 0.36, 0.83, 0.74
Tasks:  65 total,   1 running,  27 sleeping,  37 stopped,   0 zombie
%Cpu(s):  1.4 us,  1.3 sy,  0.0 ni, 97.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:  16432448 total, 14852640 used,  1579808 free,  1031860 buffers
KiB Swap:        0 total,        0 used,        0 free.  2227184 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
19869 root      20   0   21752   2932   2432 R   0.3  0.0   0:00.06 top
    1 root      20   0    1104      4      0 S   0.0  0.0   0:08.85 tini
    6 root      20   0   19816   3280   2916 S   0.0  0.0   0:00.00 bash
 4040 root      20   0   19984   3796   3244 S   0.0  0.0   0:00.00 bash
 9039 root      20   0   20132   4012   3324 S   0.0  0.0   0:00.15 bash
14672 root      20   0   20060   3904   3272 S   0.0  0.0   0:00.21 bash
14686 root      20   0    6080   1908   1700 T   0.0  0.0   0:00.00 tailf

1.1 系统运行时间和平均负载:

top - 14:03:32 up 484 days, 19:57,  0 users,  load average: 0.50, 0.89, 0.76

top命令的顶部这些字段显示:

  • 当前时间
  • 系统已运行的时间
  • 当前登录用户的数量
  • 相应最近5、10和15分钟内的平均负载。
  • 可以使用’l’命令切换uptime的显示。

14:03:32 — 当前系统时间

484 days, 19:57, — 系统已经运行了484天(在这期间没有重启过)

0 users — 当前有0个用户登录系统

load average:0.50, 0.89, 0.76 — load average后面的三个数分别是5分钟、10分钟、15分钟的负载情况。

1.2 任务:

Tasks:  65 total,   1 running,  27 sleeping,  37 stopped,   0 zombie

Tasks — 任务(进程),系统现在共有65 个进程,其中处于运行中的有1个,27 个在休眠(sleep),stoped状态的有37 个,zombie状态(僵尸)的有0个。

1.3 CPU 状态:

%Cpu(s):  1.4 us,  1.3 sy,  0.0 ni, 97.3 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

这里显示不同模式下所占cpu时间百分比,这些不同的cpu时间表示:

  • us, user: 运行(未调整优先级的) 用户进程的CPU时间
  • sy,system: 运行内核进程的CPU时间
  • ni,niced:运行已调整优先级的用户进程的CPU时间
  • wa,IO wait: 用于等待IO完成的CPU时间
  • hi:处理硬件中断的CPU时间
  • si: 处理软件中断的CPU时间
  • st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。

1.4 内存使用:

KiB Mem:  16432448 total, 14852640 used,  1579808 free,  1031860 buffers
KiB Swap:        0 total,        0 used,        0 free.  2227184 cached Mem

接下来两行显示内存使用率,有点像’free’命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。

物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。

1.5 各进程(任务)的状态监控:

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
19869 root      20   0   21752   2932   2432 R   0.3  0.0   0:00.06 top
    1 root      20   0    1104      4      0 S   0.0  0.0   0:08.85 tini
    6 root      20   0   19816   3280   2916 S   0.0  0.0   0:00.00 bash
 4040 root      20   0   19984   3796   3244 S   0.0  0.0   0:00.00 bash
 9039 root      20   0   20132   4012   3324 S   0.0  0.0   0:00.15 bash
14672 root      20   0   20060   3904   3272 S   0.0  0.0   0:00.21 bash
14686 root      20   0    6080   1908   1700 T   0.0  0.0   0:00.00 tailf

PID:进程ID,进程的唯一标识符

USER:进程所有者的实际用户名。

PR:进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。

NI:进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级

VIRT:进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR:SHR是进程使用的共享内存。共享内存大小,单位kb

S:这个是进程的状态。它有以下不同的值:

  • D - 不可中断的睡眠态。
  • R – 运行态
  • S – 睡眠态
  • T – 被跟踪或已停止
  • Z – 僵尸态

%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比。

%MEM:进程使用的可用物理内存百分比。

TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。

COMMAND:运行进程所使用的命令。进程名称(命令名/命令行)

1.top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。
2.在top基本视图中,按键盘数字“1”,可监控每个逻辑CPU的状况:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值