linux top命令最详细解释

Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。

(译注:不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。)

1. Top 命令输出:

首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出:

前几行水平显示了不同系统参数的概括,接下来是进程和它们在列中的属性。

1.1 系统运行时间和平均负载:

top命令的顶部显示与uptime命令相似的输出。

这些字段显示:

  • 当前时间

  • 系统已运行的时间

  • 当前登录用户的数量

  • 相应最近5、10和15分钟内的平均负载。

可以使用’l’命令切换uptime的显示。

1.2 任务:

第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用’t’切换显示。

1.3 CPU 状态:

下一行显示的是CPU状态。 这里显示了不同模式下的所占CPU时间的百分比。这些不同的CPU时间表示:

  • us, user: 运行(未调整优先级的) 用户进程的CPU时间

  • sy,system: 运行内核进程的CPU时间

  • ni,niced:运行已调整优先级的用户进程的CPU时间

  • wa,IO wait: 用于等待IO完成的CPU时间

  • hi:处理硬件中断的CPU时间

  • si: 处理软件中断的CPU时间

  • st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。

可以使用’t’命令切换显示。

1.4 内存使用:

接下来两行显示内存使用率,有点像’free’命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。

物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。

内存显示可以用’m’命令切换。

1.5 字段/列:

在横向列出的系统属性和状态下面,是以列显示的进程。不同的列代表下面要解释的不同属性。

默认上,top显示这些关于进程的属性:

PID

进程ID,进程的唯一标识符

USER

进程所有者的实际用户名。

PR

进程的调度优先级。这个字段的一些值是’rt’。这意味这这些进程运行在实时态。

NI

进程的nice值(优先级)。越小的值意味着越高的优先级。

VIRT

进程使用的虚拟内存。

RES

驻留内存大小。驻留内存是任务使用的非交换物理内存大小。

SHR

SHR是进程使用的共享内存。

S

这个是进程的状态。它有以下不同的值:

  • D – 不可中断的睡眠态。

  • R – 运行态

  • S – 睡眠态

  • T – 被跟踪或已停止

  • Z – 僵尸态

%CPU

自从上一次更新时到现在任务所使用的CPU时间百分比。

%MEM

进程使用的可用物理内存百分比。

TIME+

任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。

COMMAND

运行进程所使用的命令。

还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。

2. 交互命令:

我们之前说过top是一个交互命令。上一节我们已经遇到了一些命令。这里我们会探索更多的命令。

2.1 ‘h’: 帮助

首先,我们可以用’h’或者’?’显示交互命令的帮助菜单。

2.2 ‘’ 或者 ‘’: 刷新显示

top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。

2.3 ‘A’: 切换交替显示模式

这个命令在全屏和交替模式间切换。在交替模式下会显示4个窗口(译注:分别关注不同的字段):

  1. Def (默认字段组)

  2. Job (任务字段组)

  3. Mem (内存字段组)

  4. Usr (用户字段组)

这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4个窗口中只有一个窗口是当前窗口。当前窗口的名称显示在左上方。(译注:只有当前窗口才会接受你键盘交互命令)

我们可以用’a’和’w’在4个 窗口间切换。’a’移到后一个窗口,’w’移到前一个窗口。用’g’命令你可以输入一个数字来选择当前窗口。

2.4 ‘B’: 触发粗体显示

一些重要信息会以加粗字体显示。这个命令可以切换粗体显示。

2.5 ‘d’ 或‘s’: 设置显示的刷新间隔

当按下’d’或’s’时,你将被提示输入一个值(以秒为单位),它会以设置的值作为刷新间隔。如果你这里输入了1,top将会每秒刷新。

2.6 ‘l’、‘t’、‘m’: 切换负载、任务、内存信息的显示

这会相应地切换顶部的平均负载、任务/CPU状态和内存信息的概况显示。

不显示平均负载

不显示CPU概况

不显示内存和交换内存概况

上面三个全不显示

2.7 ‘f’: 字段管理

用于选择你想要显示的字段。用’*’标记的是已选择的。

管理显示列

上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。

按'<‘移动已排序的字段到左边,’>’则移动到右边。

2.8 ‘R’: 反向排序

切换反向/常规排序。

2.9 ‘c’: 触发命令

切换是否显示进程启动时的完整路径和程序名。

完整命令路径

2.10 ‘i’: 空闲任务

切换显示空闲任务。

不显示空闲命令

2.11 ‘V’: 树视图

切换树视图。

树视图

2.12 ‘Z’: 改变配色

按下’Z’向用户显示一个改变top命令的输出颜色的屏幕。可以为8个任务区域选择8种颜色。

定制颜色

下面显示的是4中颜色显示的top视图。

彩色显示

2.13 ‘z’: 切换彩色显示

切换彩色,即打开或关闭彩色显示。

2.14 ‘x’ 或者 ‘y’

切换高亮信息:’x’将排序字段高亮显示(纵列);’y’将运行进程高亮显示(横行)。依赖于你的显示设置,你可能需要让输出彩色来看到这些高亮。

X 和 Y高亮

2.15 ‘u’: 特定用户的进程

显示特定用户的进程。你会被提示输入用户名。空白将会显示全部用户。

raghu的进程

2.16 ‘n’ 或 ‘#’: 任务的数量

设置最大显示的任务数量

设置最大显示的任务数量

2.17 ‘k’: 结束任务

top命令中最重要的一个命令之一。用于发送信号给任务(通常是结束任务)。

杀死一个任务

2.18 ‘r’: 重新设置优先级

重新设置一个任务的调度优先级。

3. 命令行选项:

这些命令行选项与上面讨论的命令大多相同。top的输出可以用命令交互操作,但是你也可以带参数运行top来设置你想要的效果。

3.1 -b: 批处理模式

-b选项以批处理模式启动top命令。当你想要在文件中保存输出时是很有用的。

3.2 -c: 命令/程序名 触发:

如上面所讨论到的命令,这个选项会以上次记住的程序/命令显示的状态显示(是否显示完整路径)。

3.3 -d: 设置延迟间隔

设置top的显示间隔(以秒计)。比如:

$ top -d 1

将会以1秒的刷新间隔启动top。

3.4 -i: 切换显示空闲进程

这个选项设置top命令的上一次记住的相反的‘i’状态。

3.5 -n: 设置迭代数量

用-n选项,你可以设置top退出前迭代的次数。

$ top -n 3

将会在刷新输出3次后退出。

3.6 -p: 监控特定的PID

你可以用-p选项监控指定的PID。PID的值为0将被作为top命令自身的PID。

3.7 -u 或 -U: 用户名 或者 UID

可以用这些选项浏览特定用户的进程。用户名或者UID可以在选项中指定。-p、-u和-U选项是互斥的,同时只可以使用这其中一个选项。当你试图组合使用这些选项时,你会得到一个错误:


$ top -p 28453 -u raghu

top: conflicting process selections (U/p/u)


 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux top命令是一个非常常用的系统性能监控工具,它可以实时显示系统的CPU、内存、进程等信息,帮助用户快速了解系统的运行状态和性能瓶颈。下面是top命令的用法详解: 1. 命令格式 top命令的基本格式为: top [选项] 2. 命令选项 top命令的常用选项包括: - -d:指定刷新时间,单位为秒,默认为3秒; - -b:以批处理模式运行,输出结果到文件; - -c:显示完整的命令行信息; - -H:显示线程信息; - -p:指定要监控的进程ID; - -n:指定刷新次数,达到指定次数后自动退出; - -u:指定要监控的用户。 3. 命令输出 top命令的输出结果包括: - 第一行:系统时间、运行时间、登录用户数、系统负载; - 第二行:总进程数、运行中进程数、睡眠中进程数、停止进程数、僵尸进程数; - 第三行:CPU使用情况; - 第四行:内存使用情况; - 后续行:各个进程的详细信息,包括进程ID、CPU占用率、内存占用率、进程状态、运行时间、命令行等。 4. 命令操作 在top命令的输出结果中,可以使用以下操作: - k:杀死指定进程; - r:修改指定进程的优先级; - u:显示指定用户的进程; - q:退出top命令。 总之,top命令是一个非常实用的系统性能监控工具,可以帮助用户快速了解系统的运行状态和性能瓶颈,同时也提供了一些操作功能,方便用户对系统进行管理和调优。 ### 回答2: Linux中的top命令是一个非常常用的系统监控工具,它可以以交互模式或批处理模式显示当前正在运行的进程的信息,如CPU占用率、内存占用率、进程状态等,是系统管理员或开发人员必备的工具之一。 1. 命令格式: `top [-] [d interval] [q] [pid]` -参数:可以通过+和-来控制升降序。 -d:刷新间隔时间,单位为秒。 -q:直接退出。 -pid:指定查看某个进程的信息。 2. top命令输出信息 top命令输出的信息非常详细,包括: 进程ID(PID)、用户(USER)、进程状态(PR)、虚拟内存(VIRT)、物理内存(RES)、共享内存(SHR)、CPU占用(%CPU)、内存占用(%MEM)、进程名称(COMMAND)等。 其中,VIRT表示虚拟内存占用了多少物理内存(包含共享内存),RES表示物理内存占用大小(不包含共享内存),SHR表示共享内存占用大小。 PR表示进程的运行优先级。 3. top命令使用技巧 (1)top在交互模式下可以通过键盘操作控制输出结果,例如: u: 切换显示用户 p: 切换显示进程 M: 切换按内存排序 T: 切换按CPU排序 q: 退出top (2)top在批处理模式下可以将输出结果保存到文件中,例如: top -n 1 > top.txt 该命令将top输出结果保存到top.txt文件中。 (3)top可以通过pid参数指定查看某个进程的信息,例如: top -p pid 该命令将查看进程ID为pid的进程信息。 总之,top命令Linux系统中非常实用的工具之一,可以方便地监控系统性能和进程状态,熟练掌握top命令的使用方法,对于系统管理员或开发人员而言都是非常有益的。 ### 回答3: Linux top命令是一款实时监控系统资源使用情况的工具,也是Linux系统管理员必须掌握的基本工具之一。它可以在命令行下运行,展示当前系统中占用CPU、内存等资源最高的进程。 使用top命令,首先需要打开终端,输入top命令,就可以看到系统进程的实时信息。在top界面中,通常会显示如下信息: 1.系统整体信息 系统整体信息主要包括:系统当前时间、运行时间、正在运行的进程数、负载平均值等。 2.进程列表 进程列表包括每个进程的进程ID、进程名、进程状态、占用CPU的百分比以及占用内存的百分比。 3.进程详情 若要查看某个进程的详细信息,可以使用快捷键“Shift + M”来按照内存占用排序,或者“Shift + P”来按照CPU占用排序。在这个模式下,可以看到进程的线程数、虚拟内存与物理内存的使用情况以及进程的启动命令等信息。 此外,还可以通过快捷键“H”来查看进程的线程详情。 常见参数及使用方式: 1. 指定显示进程数量:top -n 10表示显示当前系统占用资源最高的10个进程。 2. 批处理模式:top -b表示以批处理模式运行,可以将top命令的输出结果保存到文件中。 3. 指定刷新频率:top -d 5表示每5秒刷新一次进程列表。 4. 只显示某个用户的进程:top -u username表示只显示username用户的进程列表。 5. 只显示某个进程:top -p pid1,pid2...表示只显示指定的进程列表。 总之,Linux top命令是一款非常强大的系统监控工具,通过加深对top命令的使用和理解,可以更好地掌控系统的整体运行状况,及时识别和解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值