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


    一、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
    
    • 1

    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
    
    • 1
    • 2

    在这里插入图片描述

    4、 查看指定用户信息

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

    在这里插入图片描述

    5、指定刷新间隔

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

    在这里插入图片描述

    6、指定列排序

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

    在这里插入图片描述

    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

  • 相关阅读:
    数学建模——平稳时间序列分析方法
    NEDC、WLTC、CLTC,三种汽车能源消耗测试标准有什么区别?
    实体类和 Map互相转换
    数据挖掘与分析应用:算法模型选择与训练、评估模型、上线部署,回到准备数据阶段
    Java智慧工地云SaaS源码,AI服务器、智能硬件
    BlueToolFixup.kext2.6.5(所有蓝牙部分驱动)
    12KM02E-V0002 3EGM030300R0002 模块化和加固的边缘计算加速
    Android软键盘windowSoftInputMode的使用与原理(使用篇)
    后端面试问题(学习版)
    Linux 错误处理(字符设备基础三)
  • 原文地址:https://blog.csdn.net/u013250861/article/details/126671679