Linux top 命令:了解你的系统性能

什么是 top 命令?

如果你是一名 Linux 系统管理员,那么 top 命令一定不会陌生。它是一个在命令行下运行的工具,可以实时显示系统的进程、CPU 占用率、内存占用率、虚拟内存等信息。

当你的系统出现性能问题时,top 命令可以帮助你快速找出问题所在。比如,如果你发现系统的 CPU 占用率飙升,那么你可以使用 top 命令查看哪些进程在占用 CPU 资源。

如何使用 top 命令?

使用 top 命令非常简单。在命令行下输入

top
就可以启动 top 命令。默认情况下,top 命令会按照 CPU 占用率排序。

除了默认的排序方式,top 命令还支持按照内存占用率、进程 ID、进程名称等排序。你可以通过键盘上的快捷键来切换排序方式。

另外,top 命令还支持显示不同的系统信息。你可以按下键盘上的数字键来切换显示不同的信息。比如,按下数字键 1 可以显示每个 CPU 核心的使用情况。

如何解读 top 命令的输出?

top 命令的输出非常详细,但是也非常复杂。下面是一个 top 命令的输出示例:

top - 09:58:46 up 50 days,  3:45,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  93 total,   1 running,  92 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 13176848 total,  1192156 free,  9063476 used,  2920216 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  3703696 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                            
  682 mysql     20   0 2700812 2.402g   6624 S   6.3 19.3  24608:27 mysqld                                                                                                                             
  775 redis     20   0  427720  21264   1484 S   0.7  0.2   1:03.38 redis-server                                                                                                                      
  542 root      20   0       0      0      0 I   0.3  0.0   0:16.95 kworker/u256:3-events_power_efficient                                                                                                
    1 root      20   0  186312   4896   2956 S   0.0  0.0   0:02.55 systemd                                                                                                                            
    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   0:00.07 ksoftirqd/0                                                                                                                        

下面是对 top 命令输出内容的解释:

  • 第一行:系统的运行时间、当前登录用户数、平均负载等信息。
  • 第二行:系统进程的统计信息,包括总进程数、正在运行的进程数、睡眠的进程数、停止的进程数以及僵尸进程数。
  • 第三行:CPU 的统计信息,包括用户态 CPU 时间占比、内核态 CPU 时间占比、nice 值优先级较高的进程 CPU 时间占比、空闲 CPU 时间占比、等待 I/O 的 CPU 时间占比、硬件中断处理 CPU 时间占比、软件中断处理 CPU 时间占比以及虚拟化 CPU 时间占比。
  • 第四行:内存的统计信息,包括总内存大小、空闲内存大小、已用内存大小、缓存和缓冲区内存大小。
  • 第五行:交换空间的统计信息,包括总交换空间大小、空闲交换空间大小、已用交换空间大小以及可用内存大小。
  • 第六行及以下:每个进程的详细信息,包括进程 ID、用户、优先级、虚拟内存、常驻内存、共享内存、状态、CPU 占用率、内存占用率、运行时间和进程名称。

如何使用 top 命令来查找系统性能问题?

下面是一些使用 top 命令来查找系统性能问题的技巧:

  • 使用键盘上的 k 快捷键可以杀死一个进程。如果你发现某个进程在占用过多的 CPU 或内存资源,那么你可以使用 k 快捷键来杀死它。
  • 使用键盘上的 1 快捷键可以显示每个 CPU 核心的使用情况。如果你发现系统的某个 CPU 核心在占用过多的资源,那么你可以使用 1 快捷键来查看具体情况。
  • 使用键盘上的 Shift+P 快捷键可以按照 CPU 占用率排序。如果你发现系统的 CPU 占用率飙升,那么你可以使用这个快捷键来找出占用 CPU 资源最多的进程。
  • 使用键盘上的 Shift+M 快捷键可以按照内存占用率排序。如果你发现系统的内存占用率过高,那么你可以使用这个快捷键来找出占用内存资源最多的进程。
  • 使用键盘上的 Shift+T 快捷键可以按照运行时间排序。如果你发现某个进程一直在运行,那么你可以使用这个快捷键来找出运行时间最长的进程。

总结

Linux top 命令是一个非常有用的系统性能监测工具。它可以帮助你快速找出系统性能问题所在,并采取相应的措施来解决问题。如果你是一名 Linux 系统管理员,那么你一定要熟练掌握 top 命令的使用方法。

本文来源:词雅网

本文地址:https://www.ciyawang.com/nfe6u4.html

本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。

相关推荐