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命令的升级版】 的相关文章

  • 手把手教你查找stm32 HardFault_Handler调试及问题方法

    版权声明 xff1a 本文为博主原创文章 xff0c 未经博主允许不得转载 https blog csdn net u013184273 article details 84440177 在编写STM32程序代码时由于自己的粗心会发现有时候
  • STM32进阶之串口环形缓冲区实现 FIFO

    队列的概念 在此之前 xff0c 我们来回顾一下队列的基本概念 xff1a 队列 Queue xff1a 是一种先进先出 First In First Out 简称 FIFO 的线性表 xff0c 只允许在一端插入 xff08 入队 xff
  • DLT645-2007电能表通讯协议

    DLT645 2007通讯协议 xff1a 1 发送的帧格式 xff1a 1 1 帧起始符 0x68H 这个不多说 xff0c 记住就好 xff1b 1 2 地址域A0 A5 地址域由 6 个字节构成 xff0c 每字节 2 位 BCD 码
  • nvcc 编译 spdlog出现的问题

    1 链接 libspdlog a 时提示需要加 fpic选项 在编译spdlog库时加上cmake选项 xff1a DCMAKE CXX FLAGS 61 34 fpic 34 参考 2 core h出现error 将core h中的如下代
  • protobuf安装

    clone 代码 git clone https github com protocolbuffers protobuf git安装依赖项 sudo apt get install autoconf sudo apt get install
  • git lfs 的使用

    安装 curl s https packagecloud io install repositories github git lfs script deb sh sudo bashsudo apt get install git lfsg
  • 李诗雨的2016

    不诗意的女程序猿不是好厨师 xff0c 大家好 xff0c 我是李诗雨 xff5e 首先 xff0c 要先向各位道个歉 xff0c 其实我也是在csdn上刚拿到 暂住证 的新人 所以有好多功能还不知道 xff0c 今天在手机app上才看到有
  • 使用barrier共享键鼠

    1 安装flatpak 1 1 ubuntu 18及以后 sudo apt install flatpak 1 2 ubuntu18 以前 sudo add apt repository ppa flatpak stablesudo apt
  • OpenCV中访问图像中像素的三种方法

    1 用指针访问像素元 用指针访问像素的这种方法利用的是C语言中的操作符 xff0c 这种方法最快 如 xff1a cv Mat image span class hljs number 100 span span class hljs nu
  • 目标跟踪方法总结

    1 数据集 1 1 OTB 最经典的benchmark xff0c 有2013的OTB50和2015的OTB100OTB包括25 的灰度序列 xff0c 分辨率相对较低http cvlab hanyang ac kr tracker ben
  • SiamFC:基于全卷积孪生网络的目标跟踪算法

    Abstract 本论文提出一种新的全卷积孪生网络作为基本的跟踪算法 xff0c 这个网络在ILSVRC15的目标跟踪视频数据集上进行端到端的训练 我们的跟踪器在帧率上超过了实时性要求 xff0c 尽管它非常简单 xff0c 但在多个ben
  • fusion的理解

    fusion 有很多种模式 xff0c 开始没明白 现在知道fusion 后然后采样 取平均 xff0c 然后恍然大悟
  • rk3288 buildroot 系统编译移植libcurl

    支持https configure prefix 61 pwd buildout host 61 arm buildroot linux CC 61 home gttest work RKLINUX rk3288 v linux build
  • ROS2中IMU话题的发布及可视化

    环境 xff1a Ubuntu 20 04 xff0c ROS2 Foxy 传感器 xff1a 维特智能BWT901CL 代码是从维特智能的示例代码修改的 xff0c 实现基本的加速度 角速度和角度读取 xff0c 发布IMU消息 这个传感
  • vue-admin/vue-element-admin 自动生成表单,数据提交,组件传值

    父组件 xff08 基于element UI xff09 xff1a 弹出层 lt dialogBar dialogData 61 34 dialogData 34 v if 61 34 showUpdateDiaLog 34 64 han
  • 美团2018春招笔试题

    任意一个正整数可以用字符 0 9 表示出来 但是当这些字符每种字符数量有限时 xff0c 可能有些正整数表示不出来 比如有两个 1 xff0c 一个 2 xff0c 能表示出11 12 112等等 xff0c 但是无法表示出10 122 2
  • 如何使用火狐浏览器的Poster插件进行post请求

    不诗意的女程序猿不是好厨师 转载请注明出处 xff1a From 李诗雨 http blog csdn net cjm2484836553 article details 72453907 善假于物者 xff0c 正途也 学会利用身边的工具
  • Grpc常见面试题

    1 grpc四种通信模式 xff1f 答 xff1a 1 xff09 一元 RPC xff1a 客户端发起一个请求 xff0c 服务端给出一个响应 xff0c 然后请求结束 xff1b 2 xff09 服务端流 RPC xff1a 客户端发
  • 读书笔记:无人机控制(五)

    目录 垂直起降飞行器的数学建模与非线性控制RUAV动力学模型刚体动力学 Rigid Body Dynamics 空气动力学力与力矩 Aerodynamics Forces and Torques 非线性分层飞行控制器的设计与稳定性飞行控制器
  • jetson-xavier-nx刷机趟坑记录

    1 sdkmanager刷写系统 sdkmanager启动失败 使用sdkmanager刷机时可能会遇到sdkmanager启动失败的情况 xff0c 界面出现一个 OPT 错误 xff0c 显示 No SDKs are available

随机推荐