您的位置:

Linux top命令详解

一、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命令也被广泛应用于运维、性能调优等领域。