0条评论
还没有人评论过~
top命令详解
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
[root@node101.yinzhengjie.org.cn ~]# 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相关信息:从做到有依次是,用户态,内核态,nice的优先级,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@node101.yinzhengjie.org.cn ~]#
一.top有许多内置命令
排序:
P:以占据的CPU百分比,%CPU
M:占据内存百分比,%MEM
T:累积占据CPU时长,TIME+
首部信息显示:
uptime信息:l命令
tasks及cpu信息:t命令
cpu分别显示:1 (数字)
memory信息:m命令
退出命令:q
修改刷新时间间隔:s
终止指定进程:k
保存文件:W
选项:
-d:
指定刷新时间间隔,默认为3秒
-b
全部显示所有进程
-n
刷新多少次后退出
-H
线程模式,示例:top -H -p `pidof mysqld`
二.top每行相关参数说明
一.系统运行时间和平均负载
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
运行进程所使用的命令。进程名称(命令名/命令行)
三.htop命令(比top好用,需要安装相应的软件包)
1>.安装htop
[root@node101.yinzhengjie.org.cn ~]# yum -y install epel-release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:7-11 will be updated
---> Package epel-release.noarch 0:7-12 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================
Updating:
epel-release noarch 7-12 epel 15 k
Transaction Summary
=======================================================================================================================================
Upgrade 1 Package
Total download size: 15 k
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
epel-release-7-12.noarch.rpm | 15 kB 00:00:06
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : epel-release-7-12.noarch 1/2
Cleanup : epel-release-7-11.noarch 2/2
Verifying : epel-release-7-12.noarch 1/2
Verifying : epel-release-7-11.noarch 2/2
Updated:
epel-release.noarch 0:7-12
Complete!
[root@node101.yinzhengjie.org.cn ~]#
[root@node101.yinzhengjie.org.cn ~]# yum -y install htop
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink | 5.9 kB 00:00:00
* base: mirrors.aliyun.com
* epel: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
base | 3.6 kB 00:00:00
epel | 5.3 kB 00:00:00
extras | 2.9 kB 00:00:00
updates | 2.9 kB 00:00:00
(1/2): epel/x86_64/updateinfo | 1.0 MB 00:00:09
(2/2): epel/x86_64/primary_db | 6.9 MB 00:00:03
Resolving Dependencies
--> Running transaction check
---> Package htop.x86_64 0:2.2.0-3.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================================================================
Package Arch Version Repository Size
=======================================================================================================================================
Installing:
htop x86_64 2.2.0-3.el7 epel 103 k
Transaction Summary
=======================================================================================================================================
Install 1 Package
Total download size: 103 k
Installed size: 218 k
Downloading packages:
htop-2.2.0-3.el7.x86_64.rpm | 103 kB 00:00:05
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : htop-2.2.0-3.el7.x86_64 1/1
Verifying : htop-2.2.0-3.el7.x86_64 1/1
Installed:
htop.x86_64 0:2.2.0-3.el7
Complete!
[root@node101.yinzhengjie.org.cn ~]#
2>.htop使用
选项:
-d
指定延迟时间;
-u UserName:
仅显示指定用户的进程
-s COLUME:
以指定字段进行排序
子命令:
s:
跟踪选定进程的系统调用
l:
显示选定进程打开的文件列表
a:
将选定的进程绑定至某指定CPU核心
t:
显示进程树
来源:oschina
链接:https://my.oschina.net/u/4407426/blog/3652422