详解Linux top命令:查看系统资源使用情况

  • Post category:Linux

Linux top 命令是用来实时显示系统中各个进程占用资源情况的命令。通过 top 命令,可以实时监控系统的运行情况,查看系统负载、CPU 占用率、内存占用率、进程占用资源等信息。在性能分析和故障定位方面,top 命令是非常有用的工具。

下面是 top 命令的使用方法:

语法

top [-h] [-d delay] [-n iterations] [-u user | -U user] [-p pid[,pid...]]

参数

  • -h: 显示帮助信息
  • -d: 指定 top 的更新周期,默认为 3 秒
  • -n: 指定 top 的更新次数,默认无限次
  • -u: 指定要显示的用户名
  • -U: 指定不要显示的用户名
  • -p: 指定要显示的进程 PID

实例

  1. 查看系统进程占用资源情况
top

运行 top 命令后,可以看到类似下面的输出信息:

top - 10:17:28 up 37 days,  1:20,  1 user,  load average: 0.31, 0.09, 0.03
Tasks:  95 total,   1 running,  94 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.1 us,  0.9 sy,  0.0 ni, 98.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3906.1 total,    435.9 free,   2740.3 used,    729.9 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    935.4 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1105 mysql     20   0 2305056 304188  15356 S   6.2   7.6 212:48.43 mysqld
 1127 nginx     20   0  301000  34004   1372 S   1.0   0.8   1:05.92 nginx
 2269 root      20   0  187464  93412   3812 S   1.0   2.3  13:39.55 salt-minion
    1 root      20   0  223880   6236   4016 S   0.0   0.2   0:33.48 systemd
...

从这个输出信息中,可以看到当前系统的负载情况、各个进程的资源占用情况等。

  1. 查看指定进程的资源占用情况
top -p 1105

这个命令会显示指定 PID 的进程的资源占用情况,如下所示:

top - 10:29:53 up 37 days,  1:33,  1 user,  load average: 0.00, 0.05, 0.03
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.4 us,  0.4 sy,  0.0 ni, 98.2 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3906.1 total,    412.4 free,   2734.7 used,    759.0 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.    933.7 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1105 mysql     20   0 2305056 309296  15396 S   3.3   7.8 213:20.27 mysqld

从这个输出信息中,可以看到进程的 PID、CPU 占用率、内存占用率等重要信息。

至此,我们已经了解了 top 命令的作用和使用方法。这是一个非常实用的命令,对于对 Linux 系统性能监控和故障定位有需要的人,建议多多学习和使用。