以最小的代价换取最大的收益

运维实用技巧之Htop详解

1. htop简介

Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top。与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。
用户一般可以在top无法提供详尽系统信息的情况下选择安装并使用htop。比如,在查找应用程序的内存泄漏问题时。与top相比,htop提供更方便、光标控制的界面来杀死进程。
htop用C语言编写,采用了ncurses库。htop的名称源于其作者的名字。
2. htop安装
yum -y install ncurses-devel #htop依赖ncurses
wget http://superb-dca3.dl.sourceforge.net/project/htop/htop/1.0.2/htop-1.0.2.tar.gz
tar xzf htop-1.0.2.tar.gz
cd htop-1.0.2
./configure
make && make install

安装好htop之后,直接/etc/bashrc中设置别名即可,凭个人喜好而定。不过还是挺实用的,这里演示下:

#编辑/etc/bashrc文件,在最后添加上一行[root@nick tmp]# vim /etc/bashrcaliastop='/usr/bin/htop'#查看结果[root@nick tmp]# cat /etc/bashrc | tail -2# vim:ts=4:sw=4aliastop='/usr/bin/htop'#使之生效[root@nick tmp]# . /etc/bashrc

3.与传统top区别

htop 包含的优点有(与top相比较):

   可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。    
   在启动上,比 top 更快。    
   杀进程时不需要输入进程号。
   htop 支持鼠标操作。

下面是 F1~F10 的功能和对应的字母快捷键。

Shortcut Key Function Key Description 中文说明
h, ? F1 Invoke htop Help 查看htop使用说明
S F2 Htop Setup Menu htop 设定
/ F3 Search for a Process 搜索进程
\ F4 Incremental process filtering 增量进程过滤器
t F5 Tree View 显示树形结构
<, > F6 Sort by a column 选择排序方式
[ F7 Nice - (change priority) 可减少nice值,这样就可以提高对应进程的优先级
] F8 Nice + (change priority) 可增加nice值,这样就可以降低对应进程的优先级
k F9 Kill a Process 可对进程传递信号
q F10 Quit htop 结束htop

命令行选项(COMMAND-LINE OPTIONS)

-C –no-color 使用一个单色的配色方案
-d –delay=DELAY 设置延迟更新时间,单位秒
-h –help 显示htop 命令帮助信息
-u –user=USERNAME 只显示一个给定的用户的过程
-p –pid=PID,PID… 只显示给定的PIDs
-s –sort-key COLUMN 依此列来排序
-v –version 显示版本信息

交互式命令(INTERACTIVE COMMANDS)

上下键或PgUP, PgDn 选定想要的进程,左右键或Home, End 移动字段,当然也可以直接用鼠标选定进程
Space 标记/取消标记一个进程。命令可以作用于多个进程,例如 “kill”,将应用于所有已标记的进程
U 取消标记所有进程
s 选择某一进程,按s:用strace追踪进程的系统调用
l 显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
I 倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
+, - 在树形模式下,展开或折叠子树
a (在有多处理器的机器上) 设置 CPU affinity: 标记一个进程允许使用哪些CPU
u 显示特定用户进程
M 按Memory使用排序
P 按CPU使用排序
T 按Time+使用排序
F 跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能
K 显示/隐藏内核线程
H 显示/隐藏用户线程
Ctrl-L 刷新
Numbers PID 查找: 输入PID,光标将移动到相应的进程上

4.htop页面信息解释

5.htop的使用方法简介

下面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间;下面就是进程实时状况

鼠标点击HELP显示自带帮助:

常用命令示例:

搜索程序名(高亮显示)

t:树形结构显示程序

u:显示某用户的进程

F4:过滤(可以单独显示过滤出的信息)

F7、F8分别对应nice-和nice+,F9对应kill给进程发信号,选好信号回车就OK了

还支持实时attach进程,用strace追踪进程的系统调用,选择进程然后按s: