欢迎您, 来到 宁时修博客.^_^

Linux性能分析命令---htop

2019/03/30 林木立 linux命令 675
top增强版 htop用法

一、htop简介

    htop 是 Linux 系统中的一个互动的进程查看器(interactive process viewer),一个文本模式的应用程序(在控制台或者X终端中),基于ncurses。与 Linux 传统的 top 相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。与top相比,htop有以下优点:

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

    htop比top 启动快(top似乎在显示内容之前收集了一段时间的数据)。

    htop杀进程时不需要输入进程号,可以一次性杀死多个进程。

    htop 支持鼠标操作。



    htop官网:http://hisham.hm/htop/

    htop的作者Hisham Muhammad在github上的项目:https://github.com/hishamhm/htop



二、htop安装

    1、yum安装

    epel源中有htop,需要先安装epel源:

    RHEL/CentOS 6:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm

    RHEL/CentOS 7:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

    然后就可以执行 yum install htop -y 安装htop命令了。



    2、源码安装

    在 http://hisham.hm/htop/ 中获取源码包:

wget http://hisham.hm/htop/releases/2.2.0/htop-2.2.0.tar.gz 
tar xf htop-2.2.0.tar.gz
cd htop-2.2.0
./configure
make
make install

    源码编译需要ncurses:yum install ncurses-devel -y。

    推荐yum安装,能够自动的解决软件包依赖关系。



三、htop参数

    用法: htop [-dChustv]    

    命令行选项说明:

-d --delay=DELAY
    Delay between updates, in tenths of seconds
    更新输出信息之间的延迟,单位:秒
    
-C --no-color --no-colour
    Start htop in monochrome mode
    以单色模式(htop交互界面无颜色)启动htop
    
-h --help
    Display a help message and exit
    显示htop帮助信息并退出
    
-p --pid=PID,PID...
    Show only the given PIDs
    仅仅显示指定的PID的进程信息(包含线程)
    
-s --sort-key COLUMN
    Sort by this column (use --sort-key help for a column list)
    以指定的列排序
    
-u --user=USERNAME
    Show only the processes of a given user
    仅仅显示指定用户的进程信息
    
-v --version
    Output version information and exit
    输出htop版本信息并退出
    
-t --tree
    Show processes in tree view
    在树状视图中显示进程信息



    Linux系统命令行输入 htop,打开htop实时监控界面。

95338.png


    左上角显示CPU、物理内存、Swap(交换分区)使用信息。

    右上角显示任务数量、线程数、正在运行的进程数、平均负载(过去1,5,15分钟)及系统运行时间的信息。

    下方进程区域显示的是当前系统中的所有进程,各列说明:

        PID:进程标识符

        USER:运行此进程的用户

        PRI:进程的内核内部优先级,通常是nice值加上20,不同于实时进程。

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

        VIRT:进程的虚拟内存大小

        RES:进程的常驻集大小(文本+数据+堆栈)(即进程所用物理内存的大小)。单位kb

        SHR:进程共享页的大小,单位kb

        S:进程状态,S表示休眠状态,R表示正在运行状态,D表示等待IO(不能中断),Z表示僵死状态(等待父级进程读取其退出状态),W用于分页。

        %CPU:进程当前使用的CPU时间百分比。

        %MEM:进程当前使用的内存百分比

        TIME+:进程在用户CPU和系统CPU时间中所花费的时间

        COMMAND:进程的完整命令行(即程序名和参数)


    最下面为操作提示区,htop界面相关功能键:

功能键副键说明
F1h,?转到帮助界面,显示帮助信息
F2S转到设置屏幕,您可以在其中配置屏幕顶部显示的仪表,设置各种显示选项,选择颜色方案,以及选择显示哪些列和顺序。
F3/

逐步搜索所有显示进程的命令行。

当前选中的(突出显示的)命令将在输入程序名时更新。

在搜索模式下,按F3将循环匹配出现

F4\

增量进程过滤:输入部分进程命令行,仅显示名称匹配的进程。

要取消过滤,请再次输入“过滤器”选项,然后按Esc。


search会将光标定位到符合条件的进程上,通过F3键进行逐个查找;而filter会直接将符合条件的进程筛选出来。search和filter都使用ESC键来取消功能。

F5t树状视图显示进程、线程之间的关系。在树视图中,使用"+"和"-"键展开或折叠当前子树,树节点中的“+”指示表示它已折叠。
F6
排序视图,选择一个字段进行排序,可使用 "<" 和 ">"键左右滑动。当前排序字段由标题中的突出显示指示。
F7[增加所选进程的优先级(从“nice”值中减去)。只能由超级用户完成。减少nice值,nice值越小,进程优先级越高。
F8]降低所选进程的优先级(添加到“nice”值)。增加nice值,nice值越大,进程优先级越低。
F9k
“终止”进程:将菜单中选择的信号发送到一个或一组进程。如果标记了进程,则将信号发送到所有标记进程。如果没有标记,则发送到当前选定的进程。
F10q退出htop



    htop交互式命令:

Up, Alt-k

在进程列表中选择(突出显示)上一个进程。必要时滚动列表。

Down, Alt-j

在进程列表中选择(突出显示)下一个进程。必要时滚动列表。
Left, Alt-h向左滚动进程列表。
Right, Alt-l向右滚动进程列表。
PgUp, PgDn

向上或向下滚动进程列表的一个窗口。

Home滚动到进程列表的顶部并选择第一个进程。
End滚动到流程列表的底部,然后选择最后一个流程。
Ctrl-A, ^向左滚动到进程条目的开头(即行首)。
Ctrl-E, $向右滚动到进程条目的末尾(即行尾)。
Space标记或取消标记进程。可以对多个进程进行操作命令(如“kill”)将应用于标记的进程列表,而不是当前突出显示的进程。
U取消所有进程标记(删除使用Space键添加的所有标记)。
跟踪进程系统调用:如果安装了strace,按此键将其附加到当前选定的进程,显示进程发出的系统调用的实时更新。
l显示进程的打开文件:如果安装了lsof,按此键将显示进程打开的文件描述符列表。
I反转排序顺序:如果排序顺序是递增的,则切换到递减,反之亦然。
+, -在树状视图模式下,展开或折叠子树。折叠子树时,进程名称左侧会显示“+”符号。
a(在多处理器机器上)设置CPU关联性:标记允许进程使用哪些CPU。
u仅显示指定用户拥有的进程。
M按内存使用(MEM% 列)排序(top兼容)
P
按处理器使用(CPU% 列)排序(top兼容)
T
按时间(TIME+ 列)排序(top兼容)
F
跟随进程: 如果排序顺序导致当前选定的进程在列表中移动,请使选择栏跟随该进程。这对于监视进程很有用:这样,可以始终在屏幕上显示该进程。当使用移动键时,“跟随”会失效。
K

隐藏内核线程:防止属于内核的线程显示在进程列表中。

(这是一个切换键。)

H
隐藏用户线程:在与普通进程(例如最近的基于NPTL的系统)不同的系统上,这可以隐藏进程列表中来自用户空间进程的线程。(这是一个切换键。)
p

在适用的情况下显示运行程序的完整路径。

(这是一个切换键。)

Ctrl-L刷新:重绘屏幕并重新计算值。
NumbersPID搜索:输入进程ID,选择高亮显示并移动到它的位置。





点赞
说说你的看法

所有评论: (0)

# 加入组织

1、用手机QQ扫左侧二维码

2、搜Q群:1058582137

3、点击 宁时修博客交流群