Linux系统中,top命令是常用的性能监控工具之一,可以实时获取系统各项资源的使用情况,包括CPU、内存、磁盘IO等等。
top命令是一个基于终端的任务管理器,提供了实时系统监控和负载分析功能。它显示系统中最重要的进程,并且动态地更新进程信息。在默认情况下,top命令按照CPU使用率排序,并且持续更新,可以使用快捷键来控制数据的显示和操作。
top命令的语法如下所示:
top [ -d delay ] [ -n count ] [ -p pidlist ] [ -u username ]
参数说明:
-d delay
:表示更新间隔时间,默认值为3秒。-n count
:表示更新次数,默认值为无限制。-p pidlist
:指定要监控的进程ID列表。-u username
:指定要监控的用户名。top命令的界面由多个区域组成,包括标题栏、进程列表、统计信息等等。
顶部为标题栏,用于显示一些基本信息和帮助文档,如下图所示:
top - 14:15:16 up 7 days, 23:04, 3 users, load average: 0.00, 0.01, 0.05
Tasks: 123 total, 1 running, 122 sleeping, 0 stopped, 0 zombie
%Cpu(s): 15.8 us, 5.5 sy, 0.0 ni, 77.8 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16073632 total, 14421024 free, 414040 used, 1210568 buff/cache
KiB Swap: 8388604 total, 8302784 free, 85820 used. 15063168 avail Mem
下方为进程列表,显示了当前系统中最耗费资源的进程信息,包括进程ID、CPU使用率、内存使用率、进程所占内存、用户、进程名称等信息。默认情况下,进程根据CPU使用率排序,可以通过按键快速地切换排序方式。下面是部分列的含义:
最底部为统计信息,包括一些系统信息和操作提示,如下图所示:
942 processes: 924 sleeping, 13 running, 1 zombie, 4 stopped
%Cpu(s): 3.5 us, 1.7 sy, 0.0 ni, 94.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 16073632 total, 14557416 free, 327764 used, 1160452 buff/cache
KiB Swap: 8388604 total, 8388604 free, 0 used. 15042596 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2897 root 20 0 1682176 298728 61704 S 2.0 1.9 7:54.83 java
1273 root 20 0 8232100 6.0g 6.0g S 1.0 39.9 21:48.23 java
1 root 20 0 1283968 10376 7200 S 0.0 0.1 0:05.80 systemd
在top命令中,有一些常用的操作帮助我们快速地查看信息或者执行某些操作。
top命令主要根据CPU使用率排序,默认情况下,按照该列从高到低排序。可以使用 -o
参数来改变排序方式,例如:
top -o %MEM
上面的命令表示以内存使用率为排序关键字从高到低排序。
如果只想查看某个用户的进程,则可以使用 -u
参数,例如:
top -u root
上面的命令表示只显示root用户的进程。
如果只想查看某个进程的信息,则可以使用 -p
参数,例如:
top -p 1234
上面的命令表示只显示进程ID为1234的进程。
在top命令中,还有一些常用的快捷键来帮助我们操作。
更多快捷键可以通过按下 ?
键来查看。