专栏首页杨建荣的学习笔记实用的top命令(r3笔记54天)

实用的top命令(r3笔记54天)

对于系统级的监控来说,top命令是实用而高效的瑞士军刀。相比vmstat,sar来说提供的是实时的进程信息,对于监控性能,排查问题是很高效的。而且提供了交互式的命令模式,能够灵活的对输出结果进行组合。 如果数据库系统中存在着cpu或者内存的过度使用,或者说IO等待较高,都可以通过top命令进行一个快速的定位到系统进程信息,然后从系统级和数据库级的进程进行一个映射,从而得到数据库级的进程信息,定位可能存在的问题。 top命令是个人比较喜好的一个命令,大体的总结了下,有一些比较实用的功能。 首先简单解释下top命令的一些内容。 第1行显示了系统级的负载,平均负载有3个输出,分别代表在过去的1分钟,5分钟,15分钟时的平均负载,可以看到当前这个系统是没有任何压力的。这部分的输出和命令uptime是一致的。 第2行显示了关于进程的一些大体信息,当前的进程总数,哪些进程是运行状态,哪些睡眠,等待状态等。可以看到进程27758是运行状态的,因为标亮的进程列表中如果"S"对应的值为R代表running,如果为S则为sleeping. 第3行显示了cpu的一些负载信息,这个也是top命令的比较实用的一个功能。特别是%id和%wa这两个指标尤为重要,很多的性能问题中,如果%id过低,%wa也很低,说明cpu使用率很高,可能有一些sql语句消耗了大量的cpu资源,如果%wa很高的话,很可能是系统IO出现了问题。在以往的系统升级中,如果发现%wa过于10%,就说明IO等待很高了,可以通过dd等方式做一个简单的测试。 第4行显示了内存的一些使用情况。如果内存使用情况存在明显的异常,可以通过标亮的进程信息中查找%MEM消耗比较高的进程。 第5行显示了交换区的一些情况,如果内存足够或者系统负载不高,这个部分的数据没有什么大的变化。

-B 选项 输入top,然后在屏幕中直接输入B,就会打开或者关闭表中重要数字的加粗显示,如果你仔细比较会发现确实有一些数据是做了加粗的显示,这样也更方便你对问题进行排查。

-C 选项 直接输入top -c 或者(输入top,然后在屏幕中直接输入c)会切换显示进程的命令名或者是完成的命令行输入信息。 进程28751就可以看到进程对应的命令行输入信息

-o选项 如果你想定制显示top命令的输出顺序,比如默认是按照pid,user的顺序来显示进程信息的,如果你想根据user,pid来显示,可以使用c选项 输入top,然后在显示屏幕上输入o,就会弹出一个交互界面。我想先显示列USER,就输入E,然后回车,结果就进行了重排。

修改后显示的列的顺序就相应的进行了调整。

-<,>选项 top命令的输出还是比较多的,可以使用<或者>来进行灵活的翻页,毕竟进程数很多,有些进程信息在一个屏幕里还显示不到,可以前后翻页来查看。 输入top,然后直接在屏幕中输入<或者>就可以分页的显示出进程的信息了。 -F或者O选项 可以根据需要对某个列进行排序,默认是对%CPU进行排序 输入top,然后在输出屏幕上输入F或者O,选择相应的列进行排序即可,比如我们对PPID进行排序。

输出结果如下,对于一些可能由递归调用中问题可以使用这个方法进行排查。

-i选项 这个选项对于一些性能问题的排查是如虎添翼,比如我们只是看看哪些进程在运行状态,不需要看到哪些睡眠状态的,可以使用-i选项。 输入top -i 或者输入top,然后在屏幕中直接输入i,就会显示出正在那些运行中的进程。

-z选项 如果想显示的结果能够更加清晰,可以使用-z选项切换彩色模式或者单色模式 输入top然后在屏幕总输入i就会显示出比较清晰的进程信息,可以根据自己的需要来决定是否启用。

-u选项 如果你只是想查看某个用户的进程信息,可以使用u选项。

输出结果就比较清晰,只是显示ora11g的进程。

-d或者s选项 因为top命令的输出是动态的,会平均每3秒进行一次刷新,如果想调节刷新的频率,可以使用d或者s选项。 输入top,然后再输入d或者s,自行设定刷新频率即可。

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:r3笔记54天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-11-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 关于listener无法启动的问题解决

    今天照例开始学习oracle,实例启动了,但是listener却突然很奇怪,怎么都起不来。 我检查了下listener配置,网络配置,ssh服务,一切都正常,最...

    jeanron100
  • goldengate学习-安装篇(71天)

    goldengate算是数据同步的利器,可以在不同的库,平台间进行数据的同步,当然还是有一些bug的,不过还是优点大过缺点。 算是尝尝鲜,从官网下载了一个版本1...

    jeanron100
  • MySQL 8.0的新特性-克隆插件

    今天在睡觉前想起了MySQL 8.0里面的一个很好的特性,克隆插件。这篇文章介绍的很细致,可以参考。

    jeanron100
  • 红黑树插入操作的java实现

    网上有非常多的关于红黑树理论的描述,本文的重点将不在于此,但是会在文中给出优秀文章的链接。对红黑树不了解的建议先阅读文章再看实现。本红黑树实现不支持多线程环境。...

    眯眯眼的猫头鹰
  • C语言 | 每日问答(96)

    阿一:在C语言里没有一个标准且可移植的方法。在标准中跟本就没有提及屏幕和 键盘的概念, 只有基于字符 “流” 的简单输入输出。在某个级别, 与键盘的交互输入一般...

    C语言入门到精通
  • Keras SGD 随机梯度下降优化器参数设置方式

    Keras 中包含了各式优化器供我们使用,但通常我会倾向于使用 SGD 验证模型能否快速收敛,然后调整不同的学习速率看看模型最后的性能,然后再尝试使用其他优化器...

    砸漏
  • 让深度学习帮你创作爵士乐

    数学与音乐有着内在的联系。 用算法作曲的历史,可以追溯到计算机科学出现的初期。翻译模型可以把一张图片转译为音乐。这都是基于规则的:如果图片里有一条水平的线,就会...

    AI研习社
  • Neurology:颞叶癫痫:海马病理学基础与脑网络连接组拓扑结构和可控性的联系

    评估海马硬化(hippocampal sclerosis,HS)的严重程度是否跟大尺度水平的脑网络水平改变有关。本文发表由宾夕法尼亚大学Bassett等在Neu...

    用户1279583
  • Deep Memory Network 深度记忆网络

    一个记忆网络是由一个记忆mmm(一个以mim_imi​作为索引的数组对象)和4个组件I,G,O,RI,G,O,RI,G,O,R组成。其中:

    Steve Wang
  • NodeJS知识点梳理-第一篇

    或者我们直接运行一个我们本地的js也是一样的,直接node csdn_demo.js

    何处锦绣不灰堆

扫码关注云+社区

领取腾讯云代金券