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
实例
- 查看系统进程占用资源情况
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
...
从这个输出信息中,可以看到当前系统的负载情况、各个进程的资源占用情况等。
- 查看指定进程的资源占用情况
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 系统性能监控和故障定位有需要的人,建议多多学习和使用。