Linux常用命令:htop(交互式进程查看器)【后台运行及查看状态命令】【top命令的升级版】

2023-05-16

一、htop 简介

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

Htop是一款运行于Linux系统监控与进程管理软件,用于取代Unix下传统的top。[1]

与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器、swap和内存状态。

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

1、安装

htop的安装非常简单,使用conda即可。由于htop经常使用,我建议安装在base环境下。

conda install -y htop

2、界面

安装好后,输入htop按回车即可查看进程,按F10或q可退出。
在这里插入图片描述

区域一:CPU、内存、Swap的使用情况;

区域二:任务、线程、平均负载及系统运行时间的信息。平均负载部分提供了三个数字,这仅仅表示的是过去的5分钟、10分钟和15分钟系统的平均负载而已。uptime标示的数字是从系统启动起到当前的运行总时间。

区域三:当前系统中的所有进程。各列说明:

  • PID:进程标志号,是非零正整数
  • USER:进程所有者的用户名
  • PR:进程的优先级别
  • NI:进程的优先级别数值
  • VIRT:进程占用的虚拟内存值
  • RES:进程占用的物理内存值
  • SHR:进程使用的共享内存值
  • S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
  • %CPU:该进程占用的CPU使用率
  • %MEM:该进程占用的物理内存和总内存的百分比
  • TIME+:该进程启动后占用的总的CPU时间
  • COMMAND:进程启动的启动命令名称

区域四:当前界面中F1-F10功能键中定义的快捷功能。

在这里插入图片描述
htop的界面基本可以分为三部分。

  • 1代表资源占用情况和服务器运行情况,主要显示了CPU(线程数)、物理内存和交换分区的信息,以及任务数量、平均负载和连接运行时间等信息。

如图中显示,一共有12个线程,0个线程被占用;一共有126G物理内存,3.35G被占用;共有186个任务,一个正在运行等。

  • 2为进程区域,显示了当前系统中的所有进程,其中包括命令的的PID、占用资源情况、运行时间和具体命令。

  • 3为操作提示区,显示了当前界面中F1-F10功能键中定义的快捷功能。

如图中显示,F1为帮助文档,F10为退出。
在这里插入图片描述

3、查看指定进程

#-p参数查看指定进程信息
[root@s146 ~]# htop -p 4035

在这里插入图片描述

4、 查看指定用户信息

#-u参数查看指定用户进程信息
[root@s146 ~]# htop -u wuhs

在这里插入图片描述

5、指定刷新间隔

#-d指定刷新间隔,单位十分之一秒
#[root@s146 ~]# htop -d 50

在这里插入图片描述

6、指定列排序

#-s参数指定列排序,列名不是进程头行看到的哦
[root@s146 ~]# htop -s M_SIZE

在这里插入图片描述

7、获取功能键帮助

在这里插入图片描述

8、过滤进程

在这里插入图片描述

9、kill指定进程

在这里插入图片描述

二、htop相比较top的优势:

  • 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。
  • 在启动上比top 更快。
  • 杀进程时不需要输入进程号。
  • htop 支持鼠标选中操作(反应不太快)。
  • top 已不再维护。

三、htop 参数

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

四、使用

这里我只分享我最常用的几个操作。在我的日常中,htop往往充斥着运行前、运行时和运行后。

1、运行程序前

在运行程序前,通过htop看看服务器目前的资源使用情况,避免出现和其他人发生冲突,使服务器处于过载的情况。

这时只需要直接输入htop即可,另外点击任意参数都可以进行排序,如CPU、MEM等。

2、运行程序时

在运行程序时,通过htop查看命令是否正常运行,通常显示CPU或内存被占用就默认正常运行。
在这里插入图片描述
比如我要将程序命令放在后台,nohup command &回车后,输入htop,再按u即可选择用户,展示特定用户的占用情况,我再输入自己的用户名,就可以看看自己的运行情况啦。

3、运行程序后

在运行程序后,我会用htop来看看是否会有因各种原因处于休眠状态(没有退出),但仍占用资源的情况。
在这里插入图片描述
比如这里就存在休眠的程序,仍然在占用资源,根据自己的需要进行kill。




参考资料:
Linux工具之htop命令
htop命令
交互式进程查看器——htop

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux常用命令:htop(交互式进程查看器)【后台运行及查看状态命令】【top命令的升级版】 的相关文章

随机推荐