vlambda博客
学习文章列表

架构师成长系列|Linux运维工具—系统监控工具htop(1.1


前言

架构师成长之路这个系列共有17个章节,每周二、四更新。


架构师成长系列|Linux运维工具—系统监控工具htop(1.1


正文开始:

htop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。


与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。

与top相比,htop有以下优点:

架构师成长系列|Linux运维工具—系统监控工具htop(1.1
架构师成长系列|Linux运维工具—系统监控工具htop(1.1
架构师成长系列|Linux运维工具—系统监控工具htop(1.1

可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。

在启动上,比top 更快。

杀进程时不需要输入进程号。

htop 支持鼠标操作。

支持进程树状显示、按名称查找进程

架构师成长系列|Linux运维工具—系统监控工具htop(1.1
架构师成长系列|Linux运维工具—系统监控工具htop(1.1

(显示进程打开的文件<打开htop后选择某一个进程,按s键即可用strace追踪进程的系统调用>,及显示进程内存映射情况。)

1. htop获取与安装

Htop的安装,既可以通过源码包编译安装,也可以配置好yum源后网络下载安装。

本文介绍源码安装

  •  步骤1、在htop的项目官方网站上:http://sourceforge.net/projects/htop/直接下载即可

架构师成长系列|Linux运维工具—系统监控工具htop(1.1

已经将文件下载在linux系统上面,然后解包。

  •  步骤2、要解包一个软件的tarball,使用标准的tar命令。 

  •  步骤3、cd进入目录后,检查系统拥有合适的编译器能够编译源代码,make构建各种二进制文件

        tar -zxvf htop-1.0.2.tar.gz

架构师成长系列|Linux运维工具—系统监控工具htop(1.1 tar -zxvf htop-1.0.2.tar.gz


架构师成长系列|Linux运维工具—系统监控工具htop(1.1


架构师成长系列|Linux运维工具—系统监控工具htop(1.1

提示没有安装GNC C编辑器。以下安装GNC C编辑器 。

yum -y install gcc

架构师成长系列|Linux运维工具—系统监控工具htop(1.1 yum -y install gcc

 再次使用 ./configure 确保系统拥有合适的编译器能够编译源代码。及具备正确的库依赖关系。

架构师成长系列|Linux运维工具—系统监控工具htop(1.1 ./configure

最后一段出现错误:

configure: error: You may want to use --disable-unicode or install libncursesw.

需要安装 ncurses-devel

yum install ncurses-devel

架构师成长系列|Linux运维工具—系统监控工具htop(1.1 yum install ncurses-devel

重新执行./configure 

然后,make构建各种二进制文件

架构师成长系列|Linux运维工具—系统监控工具htop(1.1 make

架构师成长系列|Linux运维工具—系统监控工具htop(1.1

 安装完成。

2.htop参数

键入htop 命令,打开htop。

 架构师成长系列|Linux运维工具—系统监控工具htop(1.1

架构师成长系列|Linux运维工具—系统监控工具htop(1.1

左边部分从上至下,分别为,cpu、内存、交换分区的使用情况,右边部分为:Tasks为进程总数,当前运行的进程数、Load average为系统1分钟,5分钟,10分钟的平均负载情况、Uptime为系统运行的时间。

架构师成长系列|Linux运维工具—系统监控工具htop(1.1,就是进程实时状况。

  • PID:进行的标识号

  • USER:运行此进程的用户

  • PRI:进程的优先级

  • NI:进程的优先级别值,默认的为0,可以进行调整

  • VIRT:进程占用的虚拟内存值

  • RES:进程占用的物理内存值

  • SHR:进程占用的共享内存值

  • S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态

  • %CPU:该进程占用的CPU使用率

  • %MEM:该进程占用的物理内存和总内存的百分比

  • TIME+:该进程启动后占用的总的CPU时间

  • COMMAND:进程启动的启动命令名称

下面是 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,光标将移动到相应的进程上





架构师成长系列|Linux运维工具—系统监控工具htop(1.1


3.htop使用

3.1. 显示自带帮助

鼠标点击Help或者按F1 显示自带帮助

架构师成长系列|Linux运维工具—系统监控工具htop(1.1

3.2. htop 设定

鼠标点击Setup或者按下F2 之后进入htop 设定的页面,Meters 页面设定了顶端的一些信息显示,顶端的显示又分为左右两侧,到底能显示些什么可以在最右侧那栏新增,要新增到上方左侧(F5)或是右侧(F6)都可以,这就是个人设定的范围了。这里多加了一个时钟。






精彩推荐