在linux上关于系统进程管理方面的程序有很多例如:ps、pstree、pidof、pgrep等众多工具,但是他们都只是捕获当前管理员输入命令并敲回车的前一秒的进程状态信息并且还不会高亮显示,就这样htop出现了。
htop为top的增强版,增加了高亮显示进程信息。虽然top可以动态获取并将进程信息返回给终端但是由于所有进程状态的颜色都是一模一样的不便观察,推荐使用htop、glances、dstat等管理工具,如果自己可以写一个专用的那就另当别论。
接下来介绍一下htop工具的使用(glances、dstat会在后面的文章中介绍。)
centos6系列好像是默认没有带有htop的安装包,它的官网地址是:http://hisham.hm/htop/ ,官方提供了源码包和适用于各种主流linux的二进制程序包。
二进制程序包(仅限于RHEL或者Centos等版本)的下载地址:http://pkgs.repoforge.org/htop/ ,源码包的下载地址:http://hisham.hm/htop/releases/ 这两个网址均为官方提供的,包含了htop的所有版本的二进制程序和源代码。
htop使用的是GPL协定,所以如果在htop的基础上改写的话就必须开源,切记切记。
好了,回归正题吧。先来看看htop的界面(我的centos忘记装了就直接在我的本机下演示吧。)
解释一下吧:
从上到下,分为三个部分左上角那里会显示CPU、内存以及交换分区的使用情况(我当时在装ubuntu 的时候交换分区好像设置的有点问题然后我删掉了这里就不会显示交换分区)
右上角那里会显示当前系统任务以及线程,第二行显示的是CPU的负载均衡分别在1分钟、5分钟、15分钟时的占用情况当然越低越好,第三行则为刷新时间(就是刷新当前系统状态,默认为2秒)。
剩下的则显示了进程的PID、启动这个进程的用户、优先级、NICE值、虚拟内存使用情况、常驻内存、共享内存、进程状态、CPU占用量、内存占用量、启用时间、命令(以上所指的内容为从左到右说起)等信息
接下来就是如何使用了,很简单我们打开终端输入htop即可进入。这时我们打开htop需要查看一下daemon用户所启用的进程,我们不可能一个一个按上下键去翻毕竟那样太累了不是么。有更好的办法按下“u”键(注意不是大写U而是小写),按下u以后在左侧会显示启动进程所有的用户这时我们可以按上下键来选择需要查看的用户,然后再按下回车就会显示出来你所选择的用户启动的进程信息了。(看下图)
上面的图是让大家看下按下u键的效果,然后下图则为查看daemon用户所启动的进程的详细信息
如果我们想继续查看所有进程信息则再按下u键,第一个为 all users(代表了所有用户)然后敲回车就回到了刚刚启动htop的界面了(这里就不演示了,毕竟很简单的一个操作)
如果我们仅想查看运行时间最长的进程则按下大写t就可以了,当然再按一下小写t就返回启动界面了。
我们如果只看cpu占用量高的进程则可以按下大写P返回则还是小写t,当然内存信息也一样(类似的就不做演示了,见谅。)
我们按下F5可以显示进程树的相关信息(毕竟任何进程都有它的父进程可以运行)返回也一样再按下F5即可
如果你觉得上方的cpu内存等信息显示的样式你不喜欢则可以调整,按下F2调整他们的状态(F10完成或者esc退出当前设置)
还是从左到右说起
左侧第一行第一个选项可以更改上方的显示效果,第二个我还没用过怕讲错这里不做解释,第三个则为更改显示颜色,第四个为更改中间进程的字段。
这里看下第四个选项吧,前面第一个和第三个使用特别方便不做演示,第二个我也没用过也不做演示(见谅。)
中间的内容则为活跃的字段就是我们默认打开htop的显示选项右侧则为支持显示的字段,如果要增加选项则可以使用方向键右键进入右侧敲下回车即可添加成功,移除的话按方向键左键进入活跃字段按F9即可移除,假如要将USER这个字段放到pid前面则将光标移动到PID那一行按下F8就好了。或者将光标移动到USER字段按下F7即可。
如果我们要搜索某个进程的信息则按下F3然后输入要找的内容即可,如果这个进程有多个子进程则按F3可以跳转匹配的内容。
这里有好多内容就不解释了- -。毕竟太长了,我自己也不喜欢看长篇大论的文章说不到重点瞎扯一大堆。
最后一个刚刚get一个新技能(就是在写这篇博文的时候不小心按错然后发现的。。)
我们htop界面按下","就是键盘M字母右边的那个逗号键则可以指定以当前活跃字段的某个字段的情况来显示进程信息
有木有感觉很强大,简直是神器有木有,一定要记得如何获取程序包。后面的博文还会讲到glances、以及dstat的使用。这些都是很给力的系统进程管理工具。
本文出自 “Yxn” 博客,请务必保留此出处http://jyxnt.blog.51cto.com/9581167/1586708
原文地址:http://jyxnt.blog.51cto.com/9581167/1586708