纠正错误 添加实例

top

显示系统的运行状态和进程信息

补充说明

top命令是Linux系统中最常用的命令之一,它可以显示系统的运行状态和进程信息,以及一些关于资源利用率的摘要信息,包括CPU和内存的使用情况。top命令提供了一个动态的实时视图,可以随时更新和刷新。top命令的全称是table of processes,意思是进程表。

适用的Linux版本

top命令适用于大多数Linux发行版,如Ubuntu、Debian、Fedora、CentOS等。不同的发行版可能会有一些细微的差异,例如显示的字段和选项。要查看top命令的版本,可以使用以下命令:

$ top -v

基本语法

要运行top命令,只需要在终端中输入以下命令并按回车键:

$ top

top命令会进入交互式模式,显示当前活动的进程和其他系统信息。你可以使用一些可用的选项和快捷键来自定义视图。

Linux top命令的常用选项说明

选项 说明
-h, --help 显示帮助信息,然后退出程序
-v, --version 显示库版本和使用提示,然后退出程序
-b, --batch 启动批处理模式,允许将top命令的输出发送到文件或其他程序。在批处理模式下,top不接受输入,并且运行直到被杀死或达到指定的迭代次数
-c, --command 切换显示命令行或程序名。如果上次记住的状态是显示命令行,则该字段现在显示程序名,反之亦然
-d, --delay 指定刷新屏幕之前的延迟时间,覆盖默认值。该值以秒为单位。该命令接受小数秒,但不接受负数。或是在交谈式指令列( interactive command)按 s
-e, --kibibytes 切换内存单位为kibibytes(1024字节),而不是默认的mebibytes(1048576字节)
-H, --threads 显示单个线程而不是每个进程的所有线程之和。linux 中的线程和进程使用相同的数据结构,所以每个线程也有单独的PID。或是在交谈式指令列( interactive command)按 H。
-i, --idle 切换显示空闲进程。当该选项关闭时,top不显示自上次更新以来没有使用CPU资源的进程
-n, --iterations 指定top产生的最大迭代次数,在达到该次数后退出程序
-o, --sort-key 指定top用于排序进程的字段名。在字段名前加上+号强制top按照从高到低的顺序排序,加上-号则按照从低到高的顺序排序
-p, --pid 指定要监视的一个或多个进程ID(PID),用逗号分隔。只有指定的进程会被显示
-u, --user 指定要监视的一个或多个用户名或用户ID(UID),用逗号分隔。只有属于指定用户的进程会被显示
-w, --width 指定屏幕宽度,覆盖默认值

交互窗口下的操作指令:

注意:

示例

查看系统摘要信息

$ top

这个命令会显示系统的摘要信息

top - 09:14:56 up 264 days, 20:56,  1 user,  load average: 0.02, 0.04, 0.00
Tasks:  87 total,   1 running,  86 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.2%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.2%st
Mem:    377672k total,   322332k used,    55340k free,    32592k buffers
Swap:   397308k total,    67192k used,   330116k free,    71900k cached
    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    1 root      20   0  2856  656  388 S  0.0  0.2   0:49.40 init
    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   7:15.20 ksoftirqd/0
    4 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0

查看指定PID的进程

# 显示指定的进程信息
$ top -p pid

# 显示指定的进程下所有线程信息
$ top -Hp pid

你也可以在交互式模式下按 k 键,然后输入PID来实现同样的效果。

按照CPU使用率排序进程

$ top -o +%CPU

这个命令会按照CPU使用率从高到低排序进程,并显示进程列表。你也可以在交互式模式下按 Shift+P 键来实现同样的效果。

按照内存使用率排序进程

$ top -o +%MEM

这个命令会按照内存使用率从高到低排序进程,并显示进程列表。你也可以在交互式模式下按 Shift+M 键来实现同样的效果。

查看指定用户的进程

$ top -u dave

这个命令会只显示属于dave用户的进程,并显示进程列表。你也可以在交互式模式下按 u 键,然后输入用户名来实现同样的效果。

显示完整的程序命令

$ top -c

以批处理模式显示程序信息

$ top -b

设置信息更新次数

# 更新完10次后退出
top -n 10

设置信息更新周期

# 表示更新周期为3秒
$ top -d 3