一、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    显示特定用户进程

   按Memory 使用排序

P    按CPU 使用排序

   按Time+ 使用排序

F    跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能。

K    显示/隐藏内核线程

   显示/隐藏用户线程

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

htop 详细功能使用简介的更多相关文章

  1. 优秀个人免费私有云OwnCloud 8.0终于发布 - 亮眼新功能初探简介

    OwnCloud是一个基于Linux的私有云开源项目,用户可以免费使用它来搭建自己的私有云来进行文件和多媒体等的分享. 本人有幸在大概一年多前因为项目需要而接触和使用到OwnCloud,但不幸的是当时 ...

  2. ASP .net(照片列表详细功能演示)

    大家好,今天我们需要讲解的内容就是把上篇文章当中提到的照片列表的很多功能细化去做. 那么之间我们两篇文章的目的就是要让大家深刻体会get,post的使用场景极其作用.像一般处理程序的使用,隐藏域的使用 ...

  3. ps 命令的详细功能解析

    转自:http://www.cnblogs.com/wangkangluo1/archive/2011/09/23/2185938.html 要对进程进行监测和控制,首先必须要了解当前进程的情况,也就 ...

  4. 异常上报功能Bugly简介

    目的:为了能够快速定位到线上版本bug位置,经过比较之后,决定使用腾讯家的Bugly. 1.注册产品 官方文档使用指南 1.1 登录 - 使用 QQ 登录Bugly官网 没有账号就注册,要实名就实名, ...

  5. 转载:FreeRTOS 配置文件详细功能解释

    原文链接:http://blog.sina.com.cn/s/blog_98ee3a930102wf8c.html 本章节为大家讲解FreeRTOS的配置文件FreeRTOSConfig.h中每个选项 ...

  6. GetX代码生成IDEA插件,超详细功能讲解(透过现象看本质)

    前言 本文章不是写getx框架的使用,而且其代码生成IDEA插件的功能讲解 我之前写过俩篇很长很长的getx文章 一篇入门使用:Flutter GetX使用---简洁的魅力! 一篇原理深度剖析:Flu ...

  7. WindowsPhone8拍照功能实现简介

    WindowsPhone作为一款智能手机操作系统,支持APP中拍照是必不可少的,目前在WP8上的拍照主要有以下三种途径: 1.使用CameraCaptureTask: 2.使用PhotoCamera类 ...

  8. libevent功能使用简介

    http://blog.csdn.net/happyanger6/article/details/7272324 1. 介绍 libevent是一个用来开发可扩展的网络服务器的事件通知函数库.当一个文 ...

  9. Android APK反编译就这么简单 详细解释(简介)

    学习Android开发过程,你会向别人学习如何应用软件的开发,那些漂亮的动画和复杂的布局可能让你爱不释手,作为开发者.你可能真的想知道的是如何实现的界面效果.然后.您将能够更改应用程序APK反编译查看 ...

随机推荐

  1. C 标准库 - <stdlib.h>

    C 标准库 - <stdlib.h> 简介 stdlib .h 头文件定义了四个变量类型.一些宏和各种通用工具函数. 库变量 下面是头文件 stdlib.h 中定义的变量类型: 序号 变量 ...

  2. less 项目实战

    1.注释 less 的注释有两种方法,"/**/" 和 "//",前一种会在 css 文件中显示,后一种不会在 css 显示. 2.定义变量的方法:" ...

  3. C++错误——”无法启动程序”…\xxx.exe” 系统找不到指定的文件”

    背景 在VS2010环境下,升级了一个用C++编写的程序,编译生成成功,但是,不能在VS中直接运行(可以通过打开debug文件目录的exe应用程序运行),提示以下错误:”无法启动程序”…\xxx.ex ...

  4. 《UNIX-Shell编程24学时教程》读书笔记Chap1,2 Shell基础,脚本基础

    Chap1 Shell基础 知道该使用哪种命令是依赖于经验的.----惟手熟尔. 1.1 什么是命令 其实知道这些名词好像也没什么帮助,嘻嘻 1.2 什么是Shell 不同用户不同的提示符:不同的环境 ...

  5. 解决Eclipse中C++代码显示Symbol &#39;std&#39; could not be resolved的问题

    第一次在Eclipse中写C++代码,写了一个简单的hello world程序,还没有等我编译.就报出了各种错误,但是这么简单的代码.怎么可能这么多错误.于是没有理会.编译执行后,能够正常输出!!!H ...

  6. ubuntu安装交叉编译工具链

    一.sudo su 切换到root用户权限 二.将arm-linux-gcc-4.3.2.tgz从windows拷贝到Linux  /home/ttt/arm-linux-gcc-4.3.2.tgz ...

  7. SQL 游标示例

    DECLARE @i INT ) --给初始值 CREATE TABLE #temp_test --创建临时表 ( num ) ) ) BEGIN INSERT INTO #temp_test ( n ...

  8. LeastRecentlyUsed

    LeastRecentlyUsed Operating Systems http://www.cs.jhu.edu/~yairamir/cs418/os6/sld001.htm Cache repla ...

  9. 为编译器的实现者提供一个精确的定义:ANSI C

    编译器的实现 常用C++编译器推荐_w3cschool https://www.w3cschool.cn/cpp/cpp-zxm72ps8.html 常用C++编译器推荐 由 Alma 创建, 最后一 ...

  10. Nginx+Tomcat搭建负载均衡集群

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器, 使用 Nginx 可以使得程序在高并发的情况下依旧可以保持良好的性能.使用 Nginx+Tomcat ...