Linux下取代top的进程管理工具 htop
一、htop 简介
This is htop, an interactive process viewer for Linux. It is a text-mode application (for console or X terminals) and requires ncurses.
Comparison between htop and top
In ‘htop‘ you can scroll the list vertically and horizontally to see all processes and complete command lines.
In ‘top‘ you are subject to a delay for each unassigned key you press (especially annoying when multi-key escape sequences are triggered by accident).
‘htop‘ starts faster (‘top‘ seems to collect data for a while before displaying anything).
In ‘htop‘ you don‘t need to type the process number to kill a process, in ‘top‘ you do.
In ‘htop‘ you don‘t need to type the process number or the priority value to renice a process, in ‘top‘ you do.
‘htop‘ supports mouse operation, ‘top‘ doesn‘t
‘top‘ is older, hence, more used and tested.
htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。
与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
与top相比,htop有以下优点:
可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
在启动上,比top 更快。
杀进程时不需要输入进程号。
htop 支持鼠标操作。
top 已经很老了。
htop 官网:http://htop.sourceforge.net/
二、htop 安装
a. 源码包安装
# tar zxvf htop-1.0.2.tar.gz
# cd htop-1.0.2
# ./configure
# make && make install
若出现错误:
configure: error: You may want to use --disable-unicode or install libncursesw.
则需安装 ncurses-devel
# yum install ncurses-devel
b. RHEL/CentOS 安装
可以通过 yum install htop 来安装它,但前提是要添加epel 的yum源,具体请参考 CentOS yum 源的配置与使用。
# rpm -ivh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL //导入key
# yum install htop
三、htop 参数
键入htop 命令,打开htop。
# htop
上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。
下面是 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 倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
+, - When in tree view mode, expand or collapse subtree. When a subtree is collapsed a "+" sign shows to the left of the process name.
a (在有多处理器的机器上) 设置 CPU affinity: 标记一个进程允许使用哪些CPU
u 显示特定用户进程
M 按Memory 使用排序
P 按CPU 使用排序
T 按Time+ 使用排序
F 跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。
K 显示/隐藏内核线程
H 显示/隐藏用户线程
Ctrl-L 刷新
Numbers PID 查找: 输入PID,光标将移动到相应的进程上
四、htop 使用
4.1. 显示自带帮助
鼠标点击Help或者按F1 显示自带帮助
4.2. htop 设定
鼠标点击Setup或者按下F2 之后进入htop 设定的页面,Meters 页面设定了顶端的一些信息显示,顶端的显示又分为左右两侧,到底能显示些什么可以在最右侧那栏新增,要新增到上方左侧(F5)或是右侧(F6)都可以,这就是个人设定的范围了。这里多加了一个时钟。
上方左右两栏的显示方式分为Text Bar Graph Led 四种,下图我就把 cpu memory swap 改成文本模式显示,然后右栏的改成Bar 显示,clock 用LED方式显示。数据显示都差不多,只是这样看有点不习惯了。
关于Display options 的设定,可要根据管理者自己的需要来设定。
颜色选择,除了基本的颜色显示之外,htop 还提供了换面板的功能,其实也只是改变一些色彩显示的设定,虽然说不能自定义到细部的颜色显示,但是至少提供了几种风格可以选择。
最后一项的设定是调整 Columns 的显示,就是在一般htop 指令进来希望可以看到的什么样的数据及信息,字段的调整可以在这边做个人化的设定,一般使用系统默认值就好了。
4.3. 搜索进程
鼠标点击Search 或者按下F3 或者输入"/", 输入进程名进行搜索,例如搜索ssh
4.4. 过滤器
按下F4,进入过滤器,相当于关键字搜索,不区分大小写,例如过滤dev
4.5. 显示树形结构
输入"t"或按下F5,显示树形结构,意思跟pstree 差不多,能看到所有程序树状执行的结构,这对于系统管理来说相当方便,理清程序是如何产生的,当然树状结构的浏览也可以依照其他数据来排序。
4.6. 选择排序方式
按下F6 就可以选择依照什么来排序,最常排序的内容就是cpu 和memory 吧!
4.7 操作进程
F7、F8分别对应nice-和nice+,F9对应kill给进程发信号,选好信号回车就OK了
4.8. 显示某个用户的进程,在左侧选择用户
输入"u",在左侧选择用户
五、Alias top
也许你用惯了top,我们也可以用top来打开htop。
编辑/root/.bashrc文件,添加如下代码
if [ -f /usr/local/bin/htop ]; then
alias top=’/usr/local/bin/htop’
fi
# source /root/.bashrc
本文出自 “gentoo” 博客,请务必保留此出处http://linuxgentoo.blog.51cto.com/7678232/1440611
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。