top命令主要功能是用来实时显示系统运行状态和系统监控的一个工具,它提供了一动态、可交互式的实时视图界面,显示系统整体的性能信息,以及正在运行的进程相关信息。它就相当于Windows的任务管理器一样,可以清楚的看到系统的资源占用情况。
语法:top [参数]
参数说明:
-d <秒数>:指定 top 命令的刷新时间间隔,单位为秒
-n <次数>:指定 top 命令运行的次数后自动退出
-p <进程ID>:仅显示指定进程ID的信息
-u <用户名>:仅显示指定用户名的进程信息
-H:在进程信息中显示线程详细信息
-i:不显示闲置(idle)或无用的进程
-b:以批处理(batch)模式运行,直接将结果输出到文件
-c:显示完整的命令行而不截断
-S:累计显示进程的 CPU 使用时间
-h:显示帮助信息
[root@CentOS7 ~]# toptop - 10:23:26 up 13 min, 1 user, load average: 0.00, 0.03, 0.05Tasks: 179 total, 1 running, 178 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 1877572 total, 1177244 free, 325540 used, 374788 buff/cacheKiB Swap: 4194300 total, 4194300 free, 0 used. 1365828 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 191104 4116 2604 S 0.0 0.2 0:00.96 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.03 ksoftirqd/0 ***************************省略部分内容输出***************************
输出的总本信息介绍:
1、uptime:系统运行的时间和平均负载信息
2、tasks:当前系统运行的进程和线程数量
3、CPU:总体cpu使用率情况
4、Mem:总体内存使用情况、可用内存和缓存
进程信息:
1、PID:进程的标识符
2、USER:运行进程或命令的用户
3、PR:进程的优先级
4、NI:进程的优化级调整值
5、VIRT:进程使用的虚拟内存大小
6、RES:进程实际使用的物理内存大小
7、SHR:进程共享的内存大小
8、%CPU:进程占用CPU的使用率
9、%MEM:进程占用内存的使用率
10、TIME+:进程的累计CPU时间
11、COMMAND:执行的命令或命令行
该界下的交互操作:
1、按键命令:在top运行的界面下,可以使用一些按键命令来进行操作,比如按下“u”,输入用户名之后,可以查看输入用户的资源使用情况,按下“h”可以查看帮助信息等。
2、排序:可以按照CPU使用率、内存使用率或进程ID等进行排序。
3、刷新频率:可以设置top的刷新频率,方便动态查看系统相关资源信息。
2、显示完整命令
[root@CentOS7 ~]# top -ctop - 10:45:56 up 35 min, 1 user, load average: 0.00, 0.01, 0.05Tasks: 179 total, 1 running, 178 sleeping, 0 stopped, 0 zombie%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 1877572 total, 1176736 free, 325932 used, 374904 buff/cacheKiB Swap: 4194300 total, 4194300 free, 0 used. 1365576 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5855 root 20 0 162192 2440 1688 R 0.3 0.1 0:00.03 top -c 1 root 20 0 191104 4120 2604 S 0.0 0.2 0:00.99 /usr/lib/systemd/systemd --switched-root --system --deserialize 22***************************省略部分内容输出***************************
其中PID为5855和1的COMMAND一列,显示出了执行的完整命令。
3、以批处理的形式显示
这是一个非交互的输出,主要用于自动化处理,因为它执行后输出的纯文本格式,在需要时,可以被其它程序读取或是保存下来。
4、以累计模式显示程序信息
使用“-S”后相信大家没有看出什么不一样的地方,这里给大家简单总结了一下“-S”参数的说明:
默认情况下(不带 -S):top 显示的是每个进程自上次屏幕更新以来所使用的 CPU 时间。这是一个瞬时值。
启用累计模式后(带 -S):top 显示的是每个进程自其启动以来所使用的 累计 CPU 时间。从TIME+一列可以分辨出来。
5、设置信息更新次数
[root@CentOS7 ~]# top -n 2
执行后,top的交互界面信息更新2次后会自动退出。
6、设置信息更新时间
[root@CentOS7 ~]# top -d 3
执行后,top的交互界面信息会每隔3秒更新一次。
7、显示指定的进程信息
[root@CentOS7 ~]# top -p 19
执行后,top的交互界面只会显示PID为19的进程信息、CPU、内存的占用率等。
8、禁止使用交谈式指令对进程下命令
该模式下是一个安全横式,一些危险或是敏感的指令是不能下放执行的,比如k(杀死进程)。但查询的一些指令还是可以执行的。
如需喜欢古诗词的同学们,请移步关注[纸间有糖]。