设为首页 收藏本站
查看: 870|回复: 0

[经验分享] Linux系统性能监控工具top

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-29 08:42:30 | 显示全部楼层 |阅读模式
TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,top一个动态显示结果的命令工具,能够实时的显示系统资源的利用情况。如图为top命令默认的显示格式。
wKiom1eaFs6B0-fuAAC27eteHO0678.jpg
第一行的表示当前时间、系统运行时间、当前登录的用户数量、以及系统负载情况等信息,和uptime命令的效果是一样的。可以用l来切换到时间等参数是否显示。
QQ截图20160729084213.png
1
2
3
load  average(即任务队列的平均长度) 0.00,0.00,0.00  3个值分别表示  1分钟 ,5分钟,15分钟前

到目前的平均负载情况。



第二行:是对当前系统运行任务的统计情况。可以用t来切换显示情况。

Tasks:表示当前系统的总的进程数量,
running:表示正在运行的进程数量,
sleeping:休眠的进程数量,
stop: 表示停止的进程数量,
zombie:僵尸进程的数量。

第三行:表示CPU的资源占用情况 可以用t来切换显示情况。
Cpu(s): 0.0 % us   :  用户空间占用CPU百分比
0.3%sy  : 内核空间占用CPU百分比
0.0% ni  : 用户进程空间内改变过优先级的进程占用CPU百分比
99.3% id  :空闲CPU百分比
0.0% wa:  用于等待IO完成的CPU时间
0.0%hi:  处理硬件中断的CPU时
0.3%si:  处理软件中断的CPU时间
0.0%st: 这个虚拟机被hypervisor偷去的CPU时间

(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。

第四行:内存信息的使用情况,该部分的信息有点类似于free  -m命令的获取到的信息,第一行为物理内存,第二行为虚拟内存。主要包含内存的使用情况、虚拟内存以及缓存等信息。

第五横向列的信息
wKiom1eaH3vwG6YVAADIRt8Kx4g200.jpg

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

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

wKioOVKvvLqQisYwAAEZ2h8F6NI366.jpg

2.2 ‘<ENTER>’ 或者 ‘<SPACE>’: 刷新显示

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

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

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

  • Def (默认字段组)
  • Job (任务字段组)
  • Mem (内存字段组)
  • Usr (用户字段组)

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

wKioJlKvvOjjr7HmAAEm9HvTG_I400.jpg

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

wKioJlKvvQuTY9CRAAEjBycCCS4370.jpg

2.4 ‘B’: 触发粗体显示

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

wKioOVKvvSTASEzzAAEku6mnYXM875.jpg

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

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

wKioJlKvvU6ys0EVAABQQHnzjuk120.jpg

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

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

wKioJlKvvXyDj-TnAACA6gljiuw128.jpg

wKioOVKvvZ6SyggrAAB0xXcvqvA928.jpg

wKioJlKvvczRuvTYAAB0VV7ckiQ526.jpg

wKioJlKvvfqCA9kqAABezsvjkfY449.jpg

2.7 ‘f’: 字段管理

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


wKioOVKvv3yiGCK5AAFfWAWGgK0747.jpg

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

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

2.8 ‘R’: 反向排序

切换反向/常规排序。

2.9 ‘c’: 触发命令

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


wKioJlKvv8KA0bkHAAEZ6zU_eZ8197.jpg

2.10 ‘i’: 空闲任务

切换显示空闲任务。


wKioOVKvv_LCAi2RAACv4Z2lHVI868.jpg

2.11 ‘V’: 树视图

切换树视图。


wKioOVKvwCrQsQxHAAEfGIOoMAQ911.jpg

2.12 ‘Z’: 改变配色

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


wKioJlKvwFiB-UWOAAEAVzE-rpk694.jpg

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


wKioJlKvwISw3u2SAAEr3p6Dg28237.jpg

2.13 ‘z’: 切换彩色显示

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

2.14 ‘x’ 或者 ‘y’

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


wKioOVKvwLOBphjLAAEMl-qvF4E465.jpg

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

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


wKioJlKvwOGx8klZAAE5Wc6T08U724.jpg

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

设置最大显示的任务数量


wKioJlKvwR6jTOMrAAD1noM1zrg214.jpg

2.17 ‘k’: 结束任务

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


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


$ top -p 28453 -u raghu top: conflicting process selections (U/p/u

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-250882-1-1.html 上篇帖子: centos 6-7 单用户模式破解centos密码 下篇帖子: appium自动化程序教程 Linux 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表