top命令详解
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
[root@node110 ~]# top top - 23:24:47 up 1:14, 3 users, load average: 0.00, 0.01, 0.03 Tasks: 165 total, 1 running, 164 sleeping, 0 stopped, 0 zombie #任务相关信息:从左到右依次是,总共进程数,正在运行到进程数,增在休眠到进程数,结束的进程数,僵尸进程数。 %Cpu(s): 0.0 us, 0.2 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st #CPU相关信息:从做到有依次是,用户态,内核态,优先级为负数,cpu空闲,等待I/O,硬中断,软中断,虚拟机CPU占用宿主机CPU百分比。 KiB Mem : 8007404 total, 7602968 free, 114640 used, 289796 buff/cache KiB Swap: 2064380 total, 2064380 free, 0 used. 7678744 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4014 root 20 0 145136 5188 3908 S 0.3 0.1 0:00.88 sshd 1 root 20 0 46376 6840 4088 S 0.0 0.1 0:01.00 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.03 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 0:00.00 rcuob/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/3 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/4 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/5 15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/6 16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/7 17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/8 18 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/9 19 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/10 20 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/11 21 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/12 22 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/13 23 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/14 24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/15 25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/16 26 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/17 27 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/18 28 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/19 29 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/20 30 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/21 31 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/22 32 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/23 33 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/24 34 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/25 35 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/26 36 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/27 37 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/28 38 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/29 39 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/30 40 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/31 41 root 20 0 0 0 0 S 0.0 0.0 0:00.20 rcu_sched 42 root 20 0 0 0 0 S 0.0 0.0 0:00.12 rcuos/0 43 root 20 0 0 0 0 S 0.0 0.0 0:00.14 rcuos/1 44 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/2 45 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/3 46 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/4 47 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/5 48 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/6 49 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/7 50 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/8 51 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuos/9 [root@node110 ~]#
相关参数说明如下:
一.系统运行时间和平均负载 1>.up 现实的是系统当前时间。(后面紧跟的参数是系统已经运行的时间)。 2>.users 当前登陆用户数量。 3>.load average 相应最近5、10和15分钟内的平均负载。 二.Tasks相关参数说明 1>.total 系统现在有进程数。 2>.running 处于运行中进程数据。 3>.sleeping 处于休眠状态的进程数。 4>.stopped 结束的进程数。 5>.zombie 僵尸的进程数。 三.CPU使用百分比相关参数说明 1>.us 用户空间所占CPU的百分比。运行(未调整优先级的) 用户进程的CPU时间 2>.sy 内核空间所占的CPU的百分比。 运行内核进程的CPU时间 3>.ni 进程的优先级为负数所占CPU的百分比。运行已调整优先级的用户进程的CPU时间 4>.id 空闲进程所占CPU的百分比。 5>.wa 等待IO所占CPU的百分比,用于等待IO完成的CPU时间。不是值不是说越大越好,对于IO密集型的集群来说,这个值偏大是很正常的,大家需要根据具体情况具体分析哟~ 6>.hi 硬中断所占CPU的百分比,处理硬件中断的CPU时间。 7>.si 软中断所占CPU的百分比,处理软件中断的CPU时间。 8>st 虚拟机的CPU占用宿主机CPU的百分比。这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。 四.MEM内存相关参数说明 1>.tatal 物理内存总量。 2>.free 空闲内存总量。 3>.used 使用中的内存总量。 4>.buff/cache 缓存的内存量。 五.SWAP交换分区相关参数说明 1>.total 交换区总量。 2>.free 空闲交换区总量。 3>.used 使用的交换区总量。 4>.avail Mem 可用的交换区总量 六.各个进程(任务)的状态监控 1>.PID 进程的唯一ID编号,用于标识一个进程。 2>.USER 进程的所属者 3>.PR 进程的优先级级别,该值越小,优先级越高。进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。 4>.NI 进程的nice值(优先级)。越小的值意味着越高的优先级。负值表示高优先级,正值表示低优先级。 5>.VIRT 进程使用的虚拟内存。进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES 6>.RES 驻留内存大小。驻留内存是任务使用的非交换物理内存大小。进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA 7>.SHR SHR是进程使用的共享内存。共享内存大小,单位kb. 8>.S 这个是进程的状态。它有以下不同的值: D - 不可中断的睡眠态。 R – 运行态 S – 睡眠态 T – 被跟踪或已停止 Z – 僵尸态 9>.%CPU 自从上一次更新时到现在任务所使用的CPU时间百分比。 10>.%MEM 进程使用的可用物理内存百分比。 11>.TIME+ 任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。 12>.COMMAND 运行进程所使用的命令。进程名称(命令名/命令行)