实用的top命令

简介: 对于系统级的监控来说,top命令是实用而高效的瑞士军刀。相比vmstat,sar来说提供的是实时的进程信息,对于监控性能,排查问题是很高效的。而且提供了交互式的命令模式,能够灵活的对输出结果进行组合。

对于系统级的监控来说,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,自行设定刷新频率即可。

目录
相关文章
|
存储 边缘计算 人工智能
云计算:现代计算环境的关键力量
云计算是基于互联网的计算模式,提供IaaS、PaaS和SaaS服务,改变计算资源获取方式,赋予企业灵活、可扩展的资源调配。其优势包括可扩展性、成本效益、灵活性和效率提升,但也面临安全性、依赖性等挑战。未来趋势涉及边缘计算、混合云、AI融合以及法规遵从与数据安全的强化。企业应适应云计算发展,制定相应策略。
|
人工智能 小程序
【一步步开发AI运动小程序】五、帧图像人体识别
随着AI技术的发展,阿里体育等公司推出的AI运动APP,如“乐动力”和“天天跳绳”,使云上运动会、线上健身等概念广受欢迎。本文将引导您从零开始开发一个AI运动小程序,使用“云智AI运动识别小程序插件”。文章分为四部分:初始化人体识别功能、调用人体识别功能、人体识别结果处理以及识别结果旋转矫正。下篇将继续介绍人体骨骼图绘制。
|
安全 Unix Android开发
探索安卓与iOS的安全性差异:技术对比与未来展望
本文旨在深入探讨和比较安卓(Android)与iOS两大移动操作系统在安全性方面的不同之处。随着智能手机在日常生活中扮演着越来越重要的角色,了解这两个系统的安全特性变得尤为重要。通过分析它们的架构、安全机制、隐私保护措施以及更新策略等方面的差异,我们可以更好地理解它们各自的优势和劣势。此外,文章还将展望未来可能的发展趋势,为开发者和用户提供参考。
363 1
|
机器学习/深度学习 算法 数据挖掘
逻辑回归的原理、Python的实现方式
逻辑回归的原理、Python的实现方式
568 0
|
机器学习/深度学习 编解码 并行计算
Yolov5-6.0系列 | yolov5的模块设计
这篇笔记用来记录yolov5中的部分网络模块,主要是在common.py与experimental.py这两个部分中。其中设计一些轻量级网络的模块,我顺便了连原理也将一同介绍。此外,还设计其他任务的一些处理技巧,包括超分处理,SPPF设计,加权特征融合等方面。把common.py与experimental.py这两个部分我觉得巧妙与对我吸引的地方都归纳在这里。
2227 0
Yolov5-6.0系列 | yolov5的模块设计
|
Python
pandas 高级(五)
本文其实属于:Python的进阶之道【AIoT阶段一】的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 pandas 高级,读本文之前建议先修:pandas 入门,后续还会发出一篇 pandas 进阶供读者进行进一步的学习了解。
244 0
pandas 高级(五)
|
XML JSON API
API参考—连接地址—ReleaseInstancePublicConnection
调用ReleaseInstancePublicConnection接口释放实例的外网连接地址。
140 0
|
SQL 关系型数据库 数据库
|
机器学习/深度学习 人工智能 搜索推荐