30 个实例详解 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

topconflicting process selections (U/p/u)


英文:Linoxide,编译:Linux中国/geekpi

linux.cn/article-2352-1.html


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304186.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IComparer与IEqualityComparer的简单使用

场景一&#xff1a;对象列表的自定义排序简单类型的列表&#xff0c;可以直接使用Linq的OrderBy或OrderByDescending进行排序&#xff0c;复杂对象的列表排序可以使用Sort()和IComparer实现自定义对象比较规则。假如有一个Box类&#xff0c;它有名称、长、宽、高四个属性&#…

程序显示文本框_【教程】TestComplete测试桌面应用程序教程(二)

TestComplete是一款具有人工智能的自动UI测试工具&#xff0c;利用自动化测试工具和人工智能支持的混合对象识别引擎&#xff0c;轻松检测和测试每个桌面&#xff0c;Web和移动应用程序。其中&#xff0c;TestComplete支持测试使用C、C&#xff03;、VB.NET、Java、Delphi、C …

陕西省计算机二级报名流程,计算机二级考试报名流程

计算机二级考试报名流程第一次参加全国计算机等级考试的考生对于网上报名的流程&#xff0c;对全国计算机考试流程中某些环节并不清楚。下面是小编为大家带来的计算机二级考试报名流程&#xff0c;欢迎阅读。(一)注册账号和登录1)考生首次登录系统需要注册登录通行证&#xff0…

Git 的 4 个阶段的撤销更改

虽然git诞生距今已有12年之久&#xff0c;网上各种关于git的介绍文章数不胜数&#xff0c;但是依然有很多人&#xff08;包括我自己在内&#xff09;对于它的功能不能完全掌握。以下的介绍只是基于我个人对于git的理解&#xff0c;并且可能生编硬造了一些不完全符合git说法的词…

51CTO下载专题有奖征集建议:您的期待,我们的方向!

2010年5月10日&#xff0c;51CTO下载专题 隆重上线。精细的技术领域、优质的技术资源、大方的设计风格......让您对精品资源一网打尽&#xff0c;直达心灵所需&#xff01; 51CTO下载专题每周发布1-2期&#xff0c;旨在帮助大家在最短的时间里&#xff0c;找到自己感兴趣技术点…

Visual Studio SnippetDesigner使用

SnippetDesigner代码片段编辑器这是一款在Visual Studio上代码片段编辑器插件&#xff0c;可以轻松创建代码片段&#xff0c;为什么要用这个代码片段呢&#xff0c;理由&#xff1a;平常在编码过程中&#xff0c;有许多重复性的代码语句&#xff0c;为了提高编码速度与便捷&…

生态合作与自主可控

生态合作与自主可控是一个大题目&#xff0c;从不同角度来讨论&#xff0c;不同的人会得出不同的结论。为了交流不空洞&#xff0c;先介绍一个案例&#xff0c;它具有普遍性&#xff1a;L总应该是前年与我们联系过&#xff0c;今年刚刚与我们联系描述了一下他们的现状&#xff…

css规则中区块block,CSS的命名方式:BEM(区块、元素、修饰符)

原标题&#xff1a;CSS的命名方式:BEM(区块、元素、修饰符)本资源由 伯乐在线- 凝枫整理&#xff0c;您也想贡献一份力量&#xff1f;欢迎加入我们 重要概念“Block”区块区块的定义是&#xff1a;一个逻辑和功能兼备的独立页面组件&#xff0c;也可以称为web组件。一个区块包含…

表达式如何获取复选框的值_Nuke表达式 Expression节点讲解

nuke中的表达式节点对于大多数人来说有点神秘&#xff0c;但它非常强大。通常它通过简单的if / else语句修补数据&#xff0c;但在这里我们将从最基本的原则&#xff0c;到一些长期被遗忘的高中数学做一些简单的技巧&#xff0c;最后把它们融合在一起。第一步创建Constant节点&…

如何在 ASP.NET Core MVC 5 中处理未知的 Action

ASP.NET Core MVC 5 是一个轻量级&#xff0c;开源的&#xff0c;利于单元测试的基于 ASP.NET Core 运行时的 web 框架&#xff0c;在开发时你肯定会遇到不少那些 request 无法匹配 Action 的情况&#xff0c;通常做法是抛出 404&#xff0c;但有些场景下我希望能收口到统一一个…

一文读懂 HMM 模型和 Viterbi 算法

隐含马尔可夫模型&#xff08;Hidden Markov Model&#xff09;隐含马尔可夫模型并不是俄罗斯数学家马尔可夫发明的&#xff0c;而是美国数学家鲍姆提出的&#xff0c;隐含马尔可夫模型的训练方法&#xff08;鲍姆-韦尔奇算法&#xff09;也是以他名字命名的。隐含马尔可夫模型…

qtabwidget设置tab高度_VC|富文本编辑框CRichEditCtrl的字体与段落设置

将富文本编辑框设置为2.0&#xff0c;关联一个control变量m_textblock&#xff1a;1 字体设置富文本编辑框关于字体设置的成员函数&#xff1a;BOOL CRichEditCtrl::SetSelectionCharFormat( CHARFORMAT& cf );此成员函数用来设置这个CRichEditCtrl对象中的当前选择的文本的…

云计算的关键特点及挑战

本文节选自《云计算&#xff1a;实现、管理与安全》导言 云计算的关键特点 一个云计算环境有几个关键特点。服务经常提供给特定 的看到因他们的资本支出最小化而获益的消费者和小企业。 这有助于降低在市场进入门槛&#xff0c;因为用来提供这些产品的基础设施由云服务提供商拥…

Mock 框架 Moq 的使用

Mock 框架 Moq 的使用IntroMoq 是 .NET 中一个很流行的 Mock 框架&#xff0c;使用 Mock 框架我们可以只针对我们关注的代码进行测试&#xff0c;对于依赖项使用 Mock 对象配置预期的依赖服务的行为。Moq 是基于 Castle 的动态代理来实现的&#xff0c;基于动态代理技术动态生成…

凝思系统改时间_国产操作系统往事:四十年激变,终再起风云

在这一轮技术浪潮中&#xff0c;无论是底层的开发生态&#xff0c;算力的硬件基础&#xff0c;还是五花八门的商业化落地场景&#xff0c;中国企业都有着毋庸置疑的话语输出能力。而另一个全民皆知、中国ICT产业的长期阵痛——国产操作系统&#xff0c;也在2019世界人工智能大会…

程序员必知的 Python 陷阱与缺陷列表

我个人对陷阱的定义是这样的&#xff1a;代码看起来可以工作&#xff0c;但不是以你“想当然“”的方式。如果一段代码直接出错&#xff0c;抛出了异常&#xff0c;我不认为这是陷阱。比如&#xff0c;Python程序员应该都遇到过的“UnboundLocalError”, 示例&#xff1a;>&…

楚乔传手游 服务器维护,楚乔传手游网络异常进不去游戏怎么办?楚乔传网络异常解决方法...

随着楚乔传的大热&#xff0c;手游楚乔传也应运而生&#xff0c;上线后的楚乔传手游版虽然好玩但也出现了许多的BUG和问题&#xff0c;最近有小伙伴说楚乔传手游下载后&#xff0c;打不开一直显示网络异常&#xff0c;但是网都好的&#xff0c;那么楚乔传手游网络异常怎么办?楚…

聊一聊和Nacos 2.0.0对接那些事

前言 nacos 2.0.0 已经发布了 alpha1, alpha2 和 beta 三个版本了&#xff0c;部分测试报告也已经出来了。Nacos2.0.0-ALPHA2 服务发现性能测试报告Nacos 2.0.0-ALPHA2 配置性能测试报告还是比较值得期待的。前段时间也一直在完善 nacos-sdk-csharp 这个项目。主要就是对接 Nac…

家用简单电线路图_家庭配电箱接线图解 家用配电箱安装方法

家居装修对水电的关注不可或缺&#xff0c;家庭电路的铺设更是至关重要的环节&#xff0c;其中家庭配电箱安装涉及到家居用电的安全问题。因此&#xff0c;小编特地对家庭配电箱安装的知识&#xff0c;以及家庭配电箱接线图作出相关整理&#xff0c;帮助大家对家庭配电箱有一个…

决策树算法及实现

在计算机科学中&#xff0c;树是一种很重要的数据结构&#xff0c;比如我们最为熟悉的二叉查找树&#xff08;Binary Search Tree&#xff09;&#xff0c;红黑树&#xff08;Red-Black Tree&#xff09;等&#xff0c;通过引入树这种数据结构&#xff0c;我们可以很快地缩小问…