htop: 比top好用的Linux进程管理监控工具

1. htop简介
Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top。与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。

用户一般可以在top无法提供详尽系统信息的情况下选择安装并使用htop。比如,在查找应用程序的内存泄漏问题时。与top相比,htop提供更方便、光标控制的界面来杀死进程。

htop用C语言编写,采用了ncurses库。htop的名称源于其作者的名字。

2、htop的安装:apt-get install htop

3、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",将应用于所有已标记的进程

上面左上角显示CPU、内存、Swap使用情况,右边显示任务、负载、开机时间,下面就是进程实时状况。
下面是 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 倒转排序顺序,如果排序是正序的,则反转成倒序的,反之亦然
+, – 在树形模式下,展开或折叠子树
a (在有多处理器的机器上) 设置 CPU affinity: 标记一个进程允许使用哪些CPU
u 显示特定用户进程
M 按Memory使用排序
P 按CPU使用排序
T 按Time+使用排序
F 跟踪进程: 如果排序顺序引起选定的进程在列表上到处移动,让选定条跟随该进程。这对监视一个进程非常有用:通过这种方式,你可以让一个进程在屏幕上一直可见。使用方向键会停止该功能
K 显示/隐藏内核线程
H 显示/隐藏用户线程
Ctrl-L 刷新
Numbers PID 查找: 输入PID,光标将移动到相应的进程上

防止进程重复显示

在使用htop查看进程信息的时候,经常会出现很多个进程重复的情况,如下情况:

经研究发现,htop会把一个进程里的线程当做一个进程来显示出来,上图中的java进程有多个线程,所以htop显示了多个进程。

这个特性对于分析进程性能很不有利, 所以我们要关掉它。

好在htop也是提供了一个方法来设置这个选项。

F2

选择 Display options

选择 Hide userland threads

如下图所示

这样以后,在htop的进程列表里再也看不见一堆重复的进程了

数据说明

第一行与第二行,显示CPU当前的运行负载,我这里是双CPU就显示两行!

第三行,显示内存的使用情况!

第四行,显示交换分区使用情况!

第一行,显示了当前的进程总数,其中有一个进程在运行!

第二行,显示了当前的负载情况,分别代表了,1分钟,5分钟,15分钟负载!

第三行,显示了系统的运行的时间!

PID:进行的标识号
USER:运行此进程的用户
PRI:进程的优先级
NI:进程的优先级别值,默认的为0,可以进行调整
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程占用的共享内存值
S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态
%CPU:该进程占用的CPU使用率
%MEM:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称

参数说明

htop –d 数据刷新时间

htop –u aurain 显示用户aurain的所属进程

M    Memory 使用排序

P    CPU 使用排序

T    Time+ 使用排序

F3 按进程名搜索

直接输入数字 光标将定位于该PID的进程

退出

参考说明

http://www.cnblogs.com/mchina/archive/2013/03/15/2858041.html

http://stackoverflow.com/questions/561245/virtual-memory-usage-from-java-under-linux-too-much-memory-used

VIRT:虚拟内存virtual memory usage。一个应用占有的地址空间,只是要应用程序要求的,就全算在这里,而不管它真的用了没有。

RES:常驻内存resident memory usage。这个值就是该应用程序真正使用的内存,但还有两个小问题,一是有些东西可能放在交换盘上了(SWAP),二是有些内存可能是共享的。

SHRshared memory。共享内存。就是说这一块内存空间有可能也被其他应用程序使用着;而Virt  Shr似乎就是这个程序所要求的并且没有共享的内存空间。


猜你喜欢

转载自blog.csdn.net/chunlovenan/article/details/47414511