Linux的命令top详解:系统动态监视工具

威迪斯特 2024-10-07 08:07:03 阅读 89

目录

一、top命令介绍

1、概述

2、top 命令的基本使用

二、 top 命令的输出内容

(一)输出内容概述

1、系统概览

2、进程列表

3、底部状态栏

(二)输出内容详细介绍

1、输出内容实例

2、系统概览

3、进程概览

4、CPU状态

5、内存状态

6、进程列表

三、 top 命令的交互操作

四、top 命令的常用选项

(一)启动时的选项

(二)实际操作示例

1、只监视指定ID进程

2、只监视指定用户的进程

五、注意事项


一、top命令介绍

1、概述

        top 是 Linux 系统中的一个动态监视工具,它可以实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。通过 top 命令,用户可以快速查看系统的运行状态,以及各个进程的 CPU、内存等使用情况。

2、top 命令的基本使用

        在终端中输入 top 并回车,即可启动 top 命令。

二、 top 命令的输出内容

(一)输出内容概述

        top 命令的输出通常包括以下几部分:

1、系统概览

        显示当前时间、系统运行时间、登录用户数、系统平均负载等信息。

2、进程列表

        按照 CPU 使用率从高到低排序显示当前系统中的进程。每个进程会显示其 PID(进程 ID)、USER(用户名)、PR(优先级)、NI(nice 值)、VIRT(虚拟内存使用量)、RES(常驻内存使用量)、SHR(共享内存大小)、S(进程状态)、%CPU(CPU 使用率)、%MEM(内存使用率)、TIME+(CPU 时间)、COMMAND(命令行描述)等信息。

3、底部状态栏

        显示一些提示信息和操作说明。

(二)输出内容详细介绍

1、输出内容实例

        在linux系统中输入top,出现如下输出:

<code>root@gxdxroot-KVM:~# top

top - 22:04:57 up  6:13,  2 users,  load average: 1.55, 1.33, 1.26

Tasks: 357 total,   1 running, 356 sleeping,   0 stopped,   0 zombie

%Cpu(s):  1.8 us,  6.4 sy,  0.0 ni, 90.7 id,  0.0 wa,  0.0 hi,  1.1 si,  0.0 st

MiB Mem :  64293.3 total,  31786.6 free,   4967.3 used,  27539.4 buff/cache

MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.  58574.6 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND

   1992 root      20   0    2892   1536   1536 S  11.8   0.0   7:00.62 istartproc.sh

   6962 root       0 -20 2031596  38268  12672 S  11.8   0.1  16:06.78 mrsout.asv

   7118 root       0 -20 2553592 436824 105472 S  11.8   0.7  22:38.50 sipgwout.asv

     77 root      20   0       0      0      0 S   5.9   0.0   0:31.04 ksoftirqd/10

   6924 root       0 -20 4075960 329064  21632 S   5.9   0.5   9:00.05 sipsvrout.asv

 783493 root      20   0   25.5g   2.2g  18816 S   5.9   3.6  10:36.08 java

1754635 root      20   0   16428   3968   3072 R   5.9   0.0   0:00.02 top

2234342 root      20   0       0      0      0 I   5.9   0.0   0:06.23 kworker/9:2-events

      1 root      20   0  166764  11260   7932 S   0.0   0.0   0:03.74 systemd

      2 root      20   0       0      0      0 S   0.0   0.0   0:00.01 kthreadd

      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp

      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par_gp

      5 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 slub_flushwq

      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns

        这是 `top` 命令的输出,下面将解释各部分的内容:

2、系统概览

 top - 22:04:57:当前时间。

 up 6:13:        系统运行时间,已经运行了6小时13分钟。

 2 users:        当前登录的用户数。

 load average: 1.55, 1.33, 1.26:系统负载平均值,分别表示过去1分钟、5分钟和15分钟的平均负载。

3、进程概览

 Tasks: 357 total, 1 running, 356 sleeping, 0 stopped, 0 zombie:

        当前系统总共有357个进程,其中1个正在运行,356个处于睡眠状态,没有停止或僵尸进程。

4、CPU状态

 %Cpu(s): 1.8 us, 6.4 sy, 0.0 ni, 90.7 id, 0.0 wa, 0.0 hi, 1.1 si, 0.0 st:

       + us:用户空间占用CPU的百分比。

       + sy:内核空间占用CPU的百分比。

       + ni:改变过优先级的进程占用CPU的百分比。

       + id:空闲CPU百分比。

       + wa:等待输入/输出的CPU百分比。

       + hi:服务硬件中断的CPU百分比。

       + si:服务软件中断的CPU百分比。

       + st:被虚拟机偷走的CPU百分比。

5、内存状态

 MiB Mem:物理内存状态。

       + total:总内存大小。

       + free:可用内存大小。

       + used:已使用内存大小。

       + buff/cache:被缓冲和缓存使用的内存大小。

 MiB Swap:交换空间状态。

       + total:总交换空间大小。

       + free:可用交换空间大小。

       + used:已使用交换空间大小。

       + avail Mem:估计的可用内存大小。

6、进程列表

        每个进程会显示其PID(进程ID)、USER(用户名)、PR(优先级)、NI(nice值)、VIRT(虚拟内存使用量)、RES(常驻内存使用量)、SHR(共享内存大小)、S(进程状态)、%CPU(CPU使用率)、%MEM(内存使用率)、TIME+(CPU时间)和COMMAND(命令行描述)。

例如:

 PID 1992:进程ID为1992。

 root:该进程由root用户启动。

 S:进程状态,S表示休眠状态。

 11.8% CPU:该进程使用了11.8%的CPU。

 0.0% MEM:该进程使用了0.0%的内存。

 7:00.62 TIME+:该进程总共使用了7小时00分钟62秒的CPU时间。

 istartproc.sh:进程的命令行描述。

        从列表中可以看出,有几个进程(如`mrsout.asv`、`sipgwout.asv`、`sipsvrout.asv`和`java`)正在使用较多的CPU资源。此外,`java`进程也使用了较多的内存。

        总结下来,这个`top`输出提供了关于系统状态和各个进程资源使用情况的详细信息,帮助用户了解系统的实时运行状况。

三、 top 命令的交互操作

        在 top 命令运行期间,用户可以通过键盘上的按键进行交互操作:

 q:退出 top 命令。

 k:杀死一个进程。输入进程 ID 后,按回车即可杀死该进程。

 r:重新设置进程的优先级。输入进程 ID 和新的优先级后,按回车即可。

 f:进入字段管理界面,可以选择显示哪些字段。

 o:改变字段的排序方式。按字母键选择想要排序的字段,然后按回车。

 s:改变刷新频率。输入新的刷新间隔时间(以秒为单位),按回车即可。

 空格:立即刷新显示。

 h:显示帮助信息。

四、top 命令的常用选项

(一)启动时的选项

        top 命令还支持一些选项,可以在启动时指定:

 -d:设置刷新间隔时间,单位是秒。

 -n:设置刷新次数,之后自动退出。

 -p:只监视指定进程的 ID;多个进程 ID 之间用逗号分隔。

 -u:只监视指定用户的进程。

(二)实际操作示例

1、只监视指定ID进程

[121yunwei@ecs-52a1 ~]$

[121yunwei@ecs-52a1 ~]$ top -p 236611

      显示结果如下:

2、只监视指定用户的进程

[121yunwei@ecs-52a1 ~]$

[121yunwei@ecs-52a1 ~]$ top -u 121yunwei 

      显示结果如下:

五、注意事项

 1、top 命令显示的是实时的系统状态,所以每次刷新时,显示的数据都可能不同。

 2、top 命令本身也会占用一定的系统资源,因此在生产环境中,不建议长时间运行 top 命令,除非确实需要实时监控系统状态。


若想了解更多,文章正下方可以看到我的联系方式:鼠标“点击” 下面的 “威迪斯特-就是video system 微信名片”字样,就会出现我的二维码,欢迎沟通探讨




声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。