在linux命令中,想要查看进程可以使用ps,pstree等命令,只不过ps查看的是进程的某一时间的状态,如果想要查看动态,需要用到的命令是top。
下面我们就系统的学习一下top命令。
1.简介
top命令能够显示很多的进程信息,我们需要将不同的部分进行分析,如下图:
2.参数
在 top
命令执行过程都是以交互的形式存在。这些命令都是单字母的,如果在命令行中使用了s 选项, 其中一些命令可能会被屏蔽。
h
显示帮助画面,给出一些简短的命令总结说明k
终止一个进程。i
忽略闲置和僵死进程。这是一个开关式命令。q
退出程序r
重新安排一个进程的优先级别S
切换到累计模式s
改变两次刷新之间的延迟时间(单位为s
),如果有小数,就换算成m s
。输入0值则系统将不断刷新,默认值是5s
f
或者F
从当前显示中添加或者删除项目o
或者O
改变显示项目的顺序l
切换显示平均负载和启动时间信息m
切换显示内存信息t
切换显示进程和CPU状态信息c
切换显示命令名称和完整命令行M
根据驻留内存大小进行排序P
根据CPU使用百分比大小进行排序T
根据时间/累计时间进行排序W
将当前设置写入~/.toprc
文件中
其他使用技巧:
以下内容
出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/linux/top.html
出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/linux/top.html
-
1.多U多核CPU监控
在top
基本视图中,按键盘数字“1
”,可监控每个逻辑CPU的状况:
观察上图,服务器有0
个逻辑CPU,实际上是1
个物理CPU。再按数字键1
,返回到top基本视图界面。 -
2.高亮显示当前运行进程
敲击键盘“b”(打开/关闭加亮效果),top
的视图变化如下:
如上图中,进程id
为9
,3211
的“top”进程被加亮了,top
进程就是视图第二行显示的唯一的运行态(runing)的那个进程,可以通过敲击“y”键关闭或打开运行态进程的加亮效果。
- 3.进程字段排序
默认进入top
时,各进程是按照CPU的占用量来排序的,在下图中进程ID为32374
的python进程排在第一(cpu占用94%
),进程ID为653
的vmtools
进程排在第二(cpu占用2.0%
)。
敲击键盘“x”(打开/关闭排序列的加亮效果),top的视图变化如下:
可以看到,top默认的排序列是“%CPU
”。
- 4. 通过”shift + >”或”shift + <”可以向右或左改变排序列
下图是按一次”shift + >
”的效果图,视图现在已经按照%MEM
来排序。
实例2:显示 完整命令
命令:
top -c
输出:
top - 09:38:06 up 3:23, 2 users, load average: 2.40, 2.19, 1.37
Tasks: 112 total, 4 running, 107 sleeping, 1 stopped, 0 zombie
%Cpu(s): 97.2 us, 1.8 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 1.1 si, 0.0 st
KiB Mem : 999936 total, 74648 free, 130200 used, 795088 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 672960 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3237 yiibai 20 0 123156 4376 1904 R 42.5 0.4 10:45.19 python run+
3753 yiibai 20 0 123152 4380 1908 R 42.5 0.4 1:38.90 python run+
653 root 20 0 302436 6024 4648 S 2.3 0.6 1:50.29 /usr/bin/v+
3709 root 20 0 0 0 0 S 2.0 0.0 0:05.93 [kworker/u+
652 chrony 20 0 115848 1892 1496 S 1.7 0.2 0:00.53 /usr/sbin/+
476 root 20 0 34876 3152 2828 S 0.3 0.3 0:00.92 /usr/lib/s+
2250 root 20 0 0 0 0 S 0.3 0.0 0:38.98 [kworker/0+
1 root 20 0 128092 6708 3956 S 0.0 0.7 0:05.51 /usr/lib/s+
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 [kthreadd]
3 root 20 0 0 0 0 S 0.0 0.0 0:15.97 [ksoftirqd+
7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 [migration+
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [rcu_bh]
9 root 20 0 0 0 0 R 0.0 0.0 0:07.42 [rcu_sched]
10 root rt 0 0 0 0 S 0.0 0.0 0:05.48 [watchdog/+
实例3:以批处理模式显示程序信息
命令:
top -b
实例4:以累积模式显示程序信息
命令:
top -S
实例5:设置信息更新次数
命令:
top -n 2
说明:表示更新两次后终止更新显示
实例6:设置信息更新时间
命令:
top -d 3
说明:表示更新周期为3秒
实例7:显示指定的进程信息
命令:
top -p 3237
top - 09:40:32 up 3:26, 2 users, load average: 3.07, 2.53, 1.62
Tasks: 1 total, 1 running, 0 sleeping, 0 stopped, 0 zombie
%Cpu(s): 91.8 us, 2.4 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 5.8 si, 0.0 st
KiB Mem : 999936 total, 71276 free, 130352 used, 798308 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 672960 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3237 yiibai 20 0 123156 4376 1904 R 34.1 0.4 11:46.46 python