一、top命令简介
top命令是一个Linux下的常用性能分析工具,能够动态地展示系统中正在运行的进程信息,如进程ID、CPU占用、内存占用等。top命令默认每隔3秒刷新一次,显示当前系统的状况。同时,top命令也具有交互式的特点,可以按照不同的参数对进程按照不同的排序方式展示。
二、top命令的使用
top命令的基本格式如下:
top [-] [d] [q] [c] [s] [u username] [p pid] [S] [n number] [b]
其中,各个参数的含义如下:
-
:启动top命令后首先会显示所有进程的总体情况。d
:动态显示,每隔一定时间展示当前进程的具体情况。q
:无警告模式,top命令在进程出现异常或者退出时不会发出任何声音。c
:显示完整命令行,即在列出进程名的同时,还要列出完整的命令行。s
:累计模式,top命令展示的占用数据是从系统启动以来的历史信息。u
:按照用户筛选进程。p
:按照进程ID筛选进程。S
:紧凑模式,top命令的显示格式更加紧凑,适合在终端下展示。n
:指定动态显示时展示的次数。b
:运行top命令后不显示任何操作指令的信息。
top命令还可以结合一些键位实现交互式的操作。如下是常用的交互式操作的方法:
P
:按照CPU占用比例排序。M
:按照内存占用比例排序。T
:按照运行时间排序。k
:结束某个进程,需要手动输入要结束的进程ID。U
:关闭某个用户的进程,需要手动输入要关闭的用户的名称。s
:改变显示的时间间隔。1
:显示每个CPU的占用情况。h
:显示帮助信息。q
:退出top命令。
三、top命令的输出信息
top命令输出的信息主要包括以下几个部分:
top -> up 1:34, 3 users, load average: 0.00, 0.01, 0.10
:显示当前系统时间、当前登录用户数、系统平均负载。Tasks: 77 total, 1 running, 76 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 st
:显示CPU使用情况,其中us表示用户进程对CPU的占用,sy表示系统内核进程对CPU的占用,ni表示进程调度优先级对CPU的占用,id表示CPU处于空闲状态的时间。KiB Mem : 4117568 total, 688820 free, 2199568 used, 1232180 buff/cache
:显示系统的内存使用情况,其中total表示总内存,free表示空闲内存,used表示已使用内存,buff/cache表示内核缓存占用的内存。KiB Swap: 1048572 total, 933024 free, 115548 used. 1416612 avail Mem
:显示交换分区的使用情况。PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
:显示正在运行的进程的详细信息,其中PID表示进程ID,USER表示该进程的拥有者,PR表示该进程的调度优先级,NI表示进程调度的优先级,VIRT表示该进程占用的虚拟内存大小,RES表示该进程占用的实际物理内存大小,SHR表示该进程共享的物理内存大小,S表示该进程的状态,%CPU表示该进程占用的CPU占比,%MEM表示该进程占用的内存占比,TIME+表示该进程的运行时间,COMMAND表示该进程对应的命令。
四、top命令的示例
下面是几个常见的使用示例:
1. 显示系统中占用CPU最高的10个进程
top -o %CPU -n 10
其中,-o %CPU
表示按照CPU占用率进行排序,-n 10
表示显示10个进程。
2. 显示系统中占用内存最高的10个进程
top -o %MEM -n 10
其中,-o %MEM
表示按照内存占用率进行排序,-n 10
表示显示10个进程。
3. 显示某个用户的所有进程信息
top -U username
其中,-U username
表示只显示该用户的进程信息。
4. 结束某个进程
top -k
启动top命令,并在命令执行过程中,按下k
键,然后根据提示输入要结束的进程的PID。
5. 结束某个用户的所有进程
top -u username -k
启动top命令,并在命令执行过程中,按下k
键,然后根据提示输入要关闭的用户的名称。
五、总结
top命令是一个全能性能分析工具,可以提供系统各个方面的信息,帮助用户了解系统的运行情况。同时,由于内部的交互式操作特点,top命令也被广泛应用于运维、性能调优等领域。