top作为日常管理工作中最常用也是最重要的Linux系统监控工具之一,可以动态观察系统进程状况。但其缺点就是只支持键盘操作,显示也单调。作为刚才Windows转到Linux的我来说,现在有了一个更好的选择:htop

  • htop介绍

htop是Linux系统下一个基本文本模式的、交互式的进程查看器,主要用于控制台或shell中,可以替代top,或者说是top的高级版。
htop命令优点:

1) 快速查看关键性能统计数据,如CPU(多核布局)、内存/交换使用;
        2)
可以横向或纵向滚动浏览进程列表,以查看所有的进程和完整的命令行;
        3) 杀掉进程时可以直接选择而不需要输入进程号;
       
4) 通过鼠标操作条目;
        5) 比top启动得更快;

  • htop安装

htop命令不像top命令是默认安装过的,相反需要我们手动安装,这里我以Centos 系统为例进行安装。原文请参考:Install htop in CentOS

在Centos上可以直接使用yum进行安装,但前提是你首先要安装rpmforge包库:

如果你是Centos 5.x,那么:

//---- 32-bit ----//
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i686.rpm
rpm -Uhv rpmforge-release*.rf.i386.rpm
//---- 64-bit ----//
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
rpm -Uhv rpmforge-release*.rf.x86_64.rpm

如果你是Centos 6.x,那么:

//---- 32-bit ----//
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
rpm -Uhv rpmforge-release*.rf.i386.rpm
//---- 64-bit ----//
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -Uhv rpmforge-release*.rf.x86_64.rpm

上面安装完成后,可以直接yum安装htop了:

yum install htop
  • htop常用功能键
            F1 : 查看htop使用说明
F2 : 设置
F3 : 搜索进程
F4 : 过滤器,按关键字搜索
F5 : 显示树形结构
F6 : 选择排序方式
F7 : 减少nice值,这样就可以提高对应进程的优先级
F8 : 增加nice值,这样可以降低对应进程的优先级
F9 : 杀掉选中的进程
F10 : 退出htop / : 搜索字符
h : 显示帮助
l :显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
u :显示所有用户,并可以选择某一特定用户的进程
s : 将调用strace追踪进程的系统调用
t : 显示树形结构 H :显示/隐藏用户线程
I :倒转排序顺序
K :显示/隐藏内核线程
M :按内存占用排序
P :按CPU排序
T :按运行时间排序 上下键或PgUP, PgDn : 移动选中进程
左右键或Home, End : 移动列表
Space(空格) : 标记/取消标记一个进程。命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程
  • htop使用

直接运行htop,如图显示:

上面左上角显示CPU、内存、交换区的使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。
最后一行是F1~F10的功能菜单和对应的字母快捷键。

按下F1,会显示帮助说明:

要想进行设置,按下F2:

这里要想添加一项显示条目时,可按F5或F6分别添加到上方的左侧或右侧,F9可移除等等。每个条目都支持四种显示方式:Text、Bar、Graph、LED,注意右上角分别显示了这四种效果。

其他操作基本和在Windows下设置BIOS是一样的,另外这里都是支持鼠标操作的。

要想显示进程的树形结构,可以输入"t"或按下F5,功能类似于pstree命令。

注意,这里很多操作也都可以通过鼠标来完成。不用不知道,多点几次就会有新发现。这里就不再一一举例了。用用便知晓。

Linux下超级命令htop的学习使用的更多相关文章

  1. LINUX学习笔记——LINUX下EXP命令全库备份数据库文件

    LINUX下EXP命令全库备份数据库文件 1)建立备份目录,目录操作权限授权给Oracle用户 mkdir /backup  --创建backup文件夹 cd  /   --进入cd语句 ls  -l ...

  2. Linux下rz命令使用的实例详解

    Linux中rz命令和sz命令都可用于文件传输,而rz命令主要用于文件的上传,下面将通过几个实例来给大家详细介绍下Linux下rz命令的用法,一起来学习下吧. rz命令可以批量上传文件,当然也可上传单 ...

  3. Linux下ls命令显示符号链接权限为777的探索

    Linux下ls命令显示符号链接权限为777的探索 --深入ls.链接.文件系统与权限 一.摘要 ls是Linux和Unix下最常使用的命令之一,主要用来列举目录下的文件信息,-l参数允许查看当前目录 ...

  4. Linux下top命令详解

    Linux下top命令详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不断刷 ...

  5. Linux下find命令用法详解

    Linux下find命令用法详解   学神VIP烟火 学神IT教育:XueGod-IT   最负责任的线上直播教育平台   本文作者为VIP学员 烟火   第一部分:根据文件名查找   1.在当前目录 ...

  6. Linux 下 make 命令 及 make 笔记

    Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make ...

  7. Linux下dmesg命令处理故障和收集系统信息的7种用法

    目录: <syslog之一:Linux syslog日志系统详解> <syslog之二:syslog协议及rsyslog服务全解析> <syslog之三:建立Window ...

  8. Linux下Setuid命令! 转载

    Linux下Setuid命令! 转载  在Linux系统中每个普通用户都可以更改自己的密码,这是合理的设置. 问题是:用户的信息保存在文件/etc/passwd中,用户的密码保存在文件/etc/sha ...

  9. 20155212 C语言实现linux下pwd命令的两种方法

    20155212 C语言实现linux下pwd命令的两种方法 学习pwd命令 通过man pwd命令查看 pwd [OPTION],一般不加参数 -P显示当前目录的物理路径 -L显示当前目录的连接路径 ...

随机推荐

  1. ScrollView嵌套listview ,滚动问题。设置listview不滚动

    对于ListView内部的ListView,一般用来展示少量的列表数据. 内部的ListView的高度看起来是一个固定值且无法滑动,这个就比较蛋疼了.. 提供两种解决方案,方案的核心都是重新设置内部L ...

  2. C++中的浮点数运算的误差测试分析

    C++中的浮点数运算的误差 项目中需要计算判定,采用的是float型,如: float a < yLing, 其中:a = 2.0, y则从1.0 + 0.2*n  当n = 4时,条件成立了? ...

  3. hdu 5024 最长的L型

    http://acm.hdu.edu.cn/showproblem.php?pid=5024 找到一个最长的L型,L可以是斜着的 简单的模拟 #include <cstdio> #incl ...

  4. POJ1410_还是没考虑全面——线段是否与矩形有共同的垂直投影

    题意如题目 有几个点1.怪我没读好题目:给出的矩形两个端点不一定都是左上右下,但是肯定能勾勒出一个矩形. 2.现在才发现很多线段相交的判断我都没有仔细考虑这一个问题 bool ssinsert(Poi ...

  5. 磁盘配额(Quota)的应用与实践

    1>什么是Quota      在Linux中,由于是多用户,多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中有少数几个用户大量占用掉了硬盘空间的话,那肯定影响其他用户的使 ...

  6. 成员函数指针与高性能C++委托

    1 引子 标准C++中没有真正的面向对象的函数指针.这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价值. ...

  7. Android-fragment的替换

    fragment的替换:是指一个Activity加载多个Fragment,当某些动作的时候在Activity替换Fragment显示: 昨天写的这几篇博客,Android-fragment简介-fra ...

  8. Python学习-41.Python中的断言

    先来点题外话: 在现代编程开发中,TDD(测试驱动开发)变得越来越流行(PS:DDD(领域驱动开发)也是,但两者并不冲突,就像面向过程和面向对象).而作为TDD的根本——单元测试也是越来越重要,单元测 ...

  9. Python学习-22.Python中的函数——type

    type函数可以检测任何值或变量的类型. 例子: def printType(var): print(type(var)) class TestClass: pass printType(1) pri ...

  10. Jesery客户端工具类

    public class JerseyClientUtil { public static<T> T sendMsg(String url,Object object,Class<T ...