Linux top命令基本实战
简介
top
命令是一个常用的Linux系统性能监控工具,可以实时监控系统的CPU使用率、内存使用率、进程情况等系统资源信息。在快速排查一些系统故障或者优化性能的时候我们可以使用top
命令来观察系统的各项指标情况,以及排查相关问题。
命令格式
top
命令的基本格式为:
top [-u <用户名>] [-d <秒数>] [-c] [-p <进程号>] [-n <次数>]
参数说明:
-u
:指定要监控的用户。-d
:指定刷新时间(单位为秒)。-c
:显示完整的命令行。-p
:指定要监控的进程号。-n
:指定何时后退出。
界面介绍
top
命令的交互界面主要分为4个区域:
- 第1个区域:显示系统信息、运行时间、负载等基本信息。
- 第2个区域:显示进程信息,包括进程号、用户名、CPU使用率、内存使用率、命令等。
- 第3个区域:显示系统各个CPU核心的CPU使用率。
- 第4个区域:命令行提示符区域。
在这些区域中,我们可以通过一些快捷键操作来达到一些特定的目的,主要常用的快捷键如下所示:
q
:退出top
命令。h
:显示帮助信息。k
:结束某个进程,需要输入进程号。M
:按照内存排序进程。P
:按照CPU排序进程。r
:重新给某个进程分配优先级,需要输入进程号。s
:更改画面更新间隔,默认是3秒。u
:只列出某一个用户的进程,需要输入用户名。1
:显示每个CPU内核的详细情况。?
:显示帮助信息。
实例1:查看系统信息
我们可以使用top
命令来实时查看系统的运行情况,例如系统运行负载等信息,命令如下:
top
运行后可以看到类似下面的信息:
top - 08:13:47 up 12 days, 22:47, 3 users, load average: 0.13, 0.11, 0.06
Tasks: 167 total, 1 running, 166 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.4 us, 0.2 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7876.5 total, 2260.4 free, 3396.1 used, 1220.1 buff/cache
MiB Swap: 16384.0 total, 15908.2 free, 475.8 used. 4316.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16403 jason 20 0 8896124 960068 273084 S 3.0 12.1 25:18.06 chrome
1761 root 20 0 540220 54352 40328 S 0.7 0.7 2:08.67 Xorg
3051 jason 20 0 2919412 561728 200524 S 0.7 7.0 42:34.34 code
747 root 19 -1 202660 95612 77376 S 0.4 1.2 0:33.85 systemd-journal
22756 root 20 0 0 0 0 I 0.4 0.0 0:02.55 kworker/0:2-mm_pe
1 root 20 0 169552 16628 11672 S 0.0 0.2 0:11.15 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.07 kthreadd
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:-H
其中第1行主要是显示系统的基本信息和负载信息,第2行主要是显示进程相关信息,而第3行主要是显示CPU使用率的情况。我们可以通过查看这些信息来排查一些系统问题或者给系统进行优化。
实例2:按照CPU排序
我们可以使用top
命令来按照CPU的使用率来排查某些进程的CPU使用情况,这对于排查负载相关问题非常有帮助。示例命令如下:
top -o %CPU
运行后可以看到类似下面的信息:
top - 08:17:16 up 12 days, 22:50, 3 users, load average: 0.08, 0.10, 0.06
Tasks: 167 total, 1 running, 166 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.1 sy, 0.0 ni, 99.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7876.5 total, 2264.6 free, 3386.4 used, 1225.5 buff/cache
MiB Swap: 16384.0 total, 15908.2 free, 475.8 used. 4293.7 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16403 jason 20 0 8896124 958896 272628 R 8.6 12.1 25:18.67 chrome
3051 jason 20 0 2919412 558896 198592 S 0.8 7.0 42:36.38 code
1761 root 20 0 540220 54352 40328 S 0.4 0.7 2:08.98 Xorg
22756 root 20 0 0 0 0 I 0.4 0.0 0:02.68 kworker/0:2-mm_pe
747 root 19 -1 202660 95612 77376 S 0.2 1.2 0:34.10 systemd-journal
1 root 20 0 169552 16628 11672 S 0.0 0.2 0:11.16 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.07 kthreadd
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:-H
在这个命令中,我们可以看到系统已经按照CPU使用率的大小来进行了排序,从而看到了CPU占用最高的进程。这对于排查cpu满载等问题非常有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux top命令基本实战 - Python技术站