实用的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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Android相关

Linux编程--文件原子操作

当多个进程同时访问一个文件的时候,普通的write/read在执行的时候,无法保证操作的原子性,可能会导致文件被污染,达不到预期的结果。

2333
来自专栏斑斓

Spark Submit的ClassPath问题

需求场景: 我们的产品需要与客户的权限系统对接,即在登录时使用客户的认证系统进行认证。集成认证的方式是调用客户提供的jar包,调用userService的aut...

5579
来自专栏测试驿栈

Jmeter(二十六)_数据驱动测试

花了一点时间做了一个通用的执行引擎,好处就是我不用再关注测试脚本的内容,而是用测试用例的数据去驱动我们执行的方向。(这个只适合单个接口的测试,具体运用到接口自动...

4402
来自专栏云计算教程系列

如何使用Nginx创建临时和永久重定向

HTTP重定向是将一个域或地址指向另一个域或地址的方式。有几种不同的重定向,每种重定向都意味着与客户端浏览器不同。两种最常见的类型是临时重定向和永久重定向。

1683
来自专栏博客园

Nginx各种配置

   nginx压缩技术为gzip,这种压缩技术可以使得网页大小压缩成原来的30%

2773
来自专栏前端小叙

内网映射到外网方法收集

一、nat123 二、ngrok 官网服务器被墙了 不能使用,显示reconnecting,可以使用自己搭建的服务器来试  三、花生壳 四、frp  htt...

46710
来自专栏奔跑的蛙牛技术博客

Java虚拟机加载类文件大全-精细版

类加载器存在父子关系 例如系统类加载器要加载java.util.ArrayList,首先要求扩展类进行加载,然后扩展类加载器要求引导类加载器进行加载。

861
来自专栏雨过天晴

转 ubuntu中ssh-server的安装与开机启动

4282
来自专栏Linyb极客之路

nginx常见架构

总结 开启压缩主要是为了减少网络传输消耗,浏览器会对压缩的文件进行解压缩,这个过程要快很多。

1554
来自专栏linux运维学习

linux学习第五十二篇: exportfs命令,NFS客户端问题,FTP介绍,使用vsftpd搭建ftp服务

exportfs命令 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 vim /et...

2128

扫码关注云+社区

领取腾讯云代金券