0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一篇关于讲解top命令的硬核干货

工程师邓生 ? 来源:CSDN ? 作者:镇杰。 ? 2022-09-13 09:52 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

前言

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

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

1. Top 命令输出:

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

0b13c446-32f6-11ed-ba43-dac502259ad0.jpg

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

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

0b377094-32f6-11ed-ba43-dac502259ad0.png

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

这些字段显示:

当前时间

系统已运行的时间

当前登录用户的数量

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

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

1.2 任务:

0b51eb0e-32f6-11ed-ba43-dac502259ad0.png

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

1.3 CPU 状态:

0b6860dc-32f6-11ed-ba43-dac502259ad0.png

下一行显示的是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 内存使用:

0b7b7960-32f6-11ed-ba43-dac502259ad0.png

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

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

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

1.5 字段/列:

0b903b98-32f6-11ed-ba43-dac502259ad0.png

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

默认上,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’或者’?’显示交互命令的帮助菜单。

0ba917d0-32f6-11ed-ba43-dac502259ad0.jpg

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

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

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

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

Def (默认字段组)

Job (任务字段组)

Mem (内存字段组)

Usr (用户字段组)

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

0bcca3a8-32f6-11ed-ba43-dac502259ad0.jpg

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

0bef73b0-32f6-11ed-ba43-dac502259ad0.jpg

2.4 ‘B’: 触发粗体显示

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

0c1b0b24-32f6-11ed-ba43-dac502259ad0.jpg

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

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

0c43ac14-32f6-11ed-ba43-dac502259ad0.png

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

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

0c5cf5c0-32f6-11ed-ba43-dac502259ad0.png

不显示平均负载

0c70053e-32f6-11ed-ba43-dac502259ad0.png

不显示CPU概况

0c93b86c-32f6-11ed-ba43-dac502259ad0.png

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

0cb2006a-32f6-11ed-ba43-dac502259ad0.png

上面三个全不显示

2.7 ‘f’: 字段管理

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

0cca9b98-32f6-11ed-ba43-dac502259ad0.jpg

管理显示列

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

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

2.8 ‘R’: 反向排序

切换反向/常规排序。

2.9 ‘c’: 触发命令

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

0cee76bc-32f6-11ed-ba43-dac502259ad0.jpg

完整命令路径

2.10 ‘i’: 空闲任务

切换显示空闲任务。

0d12d494-32f6-11ed-ba43-dac502259ad0.jpg

不显示空闲命令

2.11 ‘V’: 树视图

切换树视图。

0d347568-32f6-11ed-ba43-dac502259ad0.jpg

树视图

2.12 ‘Z’: 改变配色

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

0d57b0a0-32f6-11ed-ba43-dac502259ad0.jpg

定制颜色

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

0d811c4c-32f6-11ed-ba43-dac502259ad0.jpg

彩色显示

2.13 ‘z’: 切换彩色显示

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

2.14 ‘x’ 或者 ‘y’

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

0da94b72-32f6-11ed-ba43-dac502259ad0.jpg

X 和 Y高亮

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

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

0dd878fc-32f6-11ed-ba43-dac502259ad0.jpg

raghu的进程

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

设置最大显示的任务数量

0dfe7d9a-32f6-11ed-ba43-dac502259ad0.jpg

设置最大显示的任务数量

2.17 ‘k’: 结束任务

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

0e1fd36e-32f6-11ed-ba43-dac502259ad0.jpg

杀死一个任务

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选项是互斥的,同时只可以使用这其中一个选项。当你试图组合使用这些选项时,你会得到一个错误:


pYYBAGMf4smAO-lSAAAsFjwiTMc620.jpg




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11118

    浏览量

    218333
  • Linux
    +关注

    关注

    88

    文章

    11536

    浏览量

    214919
  • 服务器
    +关注

    关注

    13

    文章

    9863

    浏览量

    88438
  • 虚拟机
    +关注

    关注

    1

    文章

    966

    浏览量

    29580

原文标题:谁还说不懂看top命令输出信息,我就把这个丢过去!

文章出处:【微信号:浩道linux,微信公众号:浩道linux】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux基础命令which详解

    在Linux系统中,which命令用于查找并显示指定命令的可执行文件路径。这对于系统管理员和开发人员来说是个非常有用的工具,可以帮助定位命令所在的位置,确认
    的头像 发表于 07-29 17:58 ?231次阅读

    文掌握Linux命令

    作为名运维工程师,熟练掌握Linux命令是基本功中的基本功。无论是日常工作中的系统维护,还是面试时的技术考核,Linux命令都是绕不开的核心技能。本文将从实战角度出发,系统梳理运维工程师必须掌握的Linux
    的头像 发表于 07-22 15:23 ?129次阅读

    【高云GW5AT-LV60 开发套件试用体验】、硬件

    【高云GW5AT-LV60 开发套件试用体验】、硬件 高云的Arora Ⅴ系列的GW5AT-LV60 FPGA ,是高云半导体晨熙家族第5代产品,其内部资源丰富,具有全新构架的高性能 DSP
    发表于 05-19 09:51

    干货分享】开关电源环路补偿设计步骤讲解

    1. 理论讲解 本文将讲述实际环路补偿的设计步骤。 对于硬件工程师来说,开关电源和运放的信号处理电路是最常遇到的,都是典型的带负反馈的闭环控制系统。因此,这两类电路设计的稳定性和控制理论密切相关
    发表于 04-28 17:02

    干货】开关电源相关设计资料46--3

    重磅消息,开关电源相关设计资料46免费送,需要可点击附件下载查看哦!
    发表于 03-07 16:22

    干货】开关电源相关设计资料46--2

    重磅消息,开关电源相关设计资料46免费送,需要可点击附件下载查看哦! 由于上传受限,资料分次上传,大家可点击下进行下载查看哦。
    发表于 03-07 16:21

    干货】开关电源相关设计资料46--1

    重磅消息,开关电源相关设计资料46免费送,需要可点击附件下载查看哦! 由于上传受限,资料分次上传,大家可点击下进行下载查看哦。
    发表于 03-07 16:15

    天合储能荣登2024全球及中国储能系统出货量TOP10榜单

    出货量Top10”双榜单。这成绩充分彰显了天合储能在全球新能源赛道中的领跑地位,更印证了其以技术创新驱动能源变革的硬核实力。
    的头像 发表于 03-05 15:28 ?736次阅读

    Linux ip命令常用操作

    的常用操作,帮助用户更有效地管理和配置网络。 ip命令基础 ip命令是?iproute2包的部分,主要用于显示和操作路由表、网络接口和隧道。其基本语法如下: ? ? ip [OPTIONS
    的头像 发表于 02-19 10:23 ?804次阅读

    常用linux命令

    使用command A | command B | command C命令,将A命令产生的标准输出作为B命令的标准输入(注意只能接收前命令
    的头像 发表于 01-20 14:26 ?470次阅读

    嵌入式开发必备-RK3562演示Linux常用系统查询命令(上)触觉智能出品

    实用干货!嵌入式开发学习必备-RK3562演示Linux常用系统查询命令(上)关注触觉智能持续为大家带来更多嵌入式开发内容
    的头像 发表于 12-31 10:51 ?117次阅读
    嵌入式开发必备-RK3562演示Linux常用系统查询<b class='flag-5'>命令</b>(上)触觉智能出品

    Vivado中DDRX控制器(mig)ip核配置中关于命令序号选择和地址映射说明

    本篇主要讨论Vivado中DDRX控制器(mig)ip核配置中关于命令序号选择和地址映射说明() 利用Xilinx 7系列FPGA开发时,经常需要驱动外部存储器--DDRX。Xilinx提供了
    的头像 发表于 11-27 09:30 ?3969次阅读
    Vivado中DDRX控制器(mig)ip核配置中<b class='flag-5'>关于</b><b class='flag-5'>命令</b>序号选择和地址映射说明

    SD的命令和响应

    个完整的?SD?卡操作过程是:主机(单片机等)发起“命令”,SD?卡根据命令的内容决定是 否发送响应信息及数据等,如果是数据读/写操作,主机还需要发送停止读/写数据的命令来结束 本次
    的头像 发表于 10-08 15:49 ?1482次阅读
    SD的<b class='flag-5'>命令</b>和响应

    嵌入式学习-常见的shell命令之其他命令

    :elf@ubuntu:~$ man ls3、su/sudo用户切换命令sudo:暂时切换到超级用户以执行超级用户权限su:切换到某某用户4、who命令:who功能:显示关于当前在本地系统上的所有
    发表于 08-22 09:42

    常见的shell命令之其他命令

    :elf@ubuntu:~$ man ls3、su/sudo用户切换命令sudo:暂时切换到超级用户以执行超级用户权限su:切换到某某用户4、who命令:who功能:显示关于当前在本地系统上的所有
    发表于 08-21 09:49