当前位置: 首页 > news >正文

深入了解 Linux htop 命令:功能、用法与示例

文章目录

  • 深入了解 Linux htop 命令:功能、用法与示例
  • 什么是 htop?
  • htop 的安装
  • htop的基本功能
    • A区:系统资源使用情况
    • B区:系统概览信息
    • C区:进程列表
    • D区:功能键快捷方式
  • 与 top 的对比
  • 常见用法与示例
  • 实际场景应用
  • 高级功能
  • 常见问题与解决方法
  • 总结与建议


深入了解 Linux htop 命令:功能、用法与示例

什么是 htop?

htop 是一个交互式的进程查看工具,用于 Linux 和类 Unix 系统。相比传统的 top 命令,htop 提供了更加直观和用户友好的界面,支持颜色高亮、鼠标操作以及更多可视化功能,适合系统资源的实时监控和管理。


htop 的安装

在不同发行版中安装:

  • Debian/Ubuntu:

    sudo apt update
    sudo apt install htop
    
  • CentOS/RHEL:
    在 CentOS 7 及以上版本:

    sudo yum install epel-release
    sudo yum install htop
    
  • Arch Linux:

    sudo pacman -S htop
    
  • macOS (使用 Homebrew):

    brew install htop
    

htop的基本功能

主界面组成部分:

  • 顶部: 系统资源利用率(CPU、内存、交换分区)。
  • 中部: 进程列表,显示 PID、用户、CPU、内存等信息。
  • 底部: 快捷键列表,显示操作指引。

启动 htop

htop

在这里插入图片描述

A区:系统资源使用情况

  • CPU:各核心的利用率以彩色条形图表示,颜色代表不同类型的负载:
    • 绿色:用户进程负载
    • 蓝色:低优先级(NICE)进程负载
    • 红色:内核负载
  • 内存:当前系统物理内存使用情况,单位为 MB 或 GB。
  • Swap:交换分区的使用情况,通常用来表示物理内存耗尽时的额外内存使用。

B区:系统概览信息

  • 任务总数:当前运行中的任务数量。
  • 线程数:当前系统活跃线程的数量。
  • 平均负载:三个数字分别表示过去 1 分钟、5 分钟和 15 分钟的系统负载。
  • 运行时间:从系统启动到当前的总运行时长,以 days:hours:minutes 格式显示。

C区:进程列表

显示当前系统的所有进程,并提供丰富的列信息:

列名含义
PID进程标识号,唯一标志一个进程
USER进程所有者的用户名
PR进程优先级(越小优先级越高)
NINICE 值,调整优先级的数值
VIRT进程占用的虚拟内存值
RES进程占用的物理内存值
SHR进程使用的共享内存值
S进程状态:S=休眠,R=运行,Z=僵尸,N=负 NICE 值
%CPU进程占用 CPU 的使用率
%MEM进程占用的内存比例(物理内存)
TIME+进程启动后占用的总 CPU 时间
COMMAND进程的启动命令及其参数

D区:功能键快捷方式

通过底部列出的功能键,用户可以快速完成不同的操作:

快捷键功能
F1查看帮助文档
F2进入设置菜单,调整界面显示及列排序
F3搜索特定进程
F4筛选进程(支持关键字过滤)
F5切换到树状视图
F6更改排序列(默认按 CPU 使用率排序)
F7增加 NICE 值(降低优先级)
F8减少 NICE 值(提高优先级)
F9终止选定进程
F10退出 htop 界面

与 top 的对比

功能htoptop
界面彩色界面,支持鼠标操作文本界面,仅支持键盘
操作方式交互式,支持选择性操作需要记住更多快捷键
可定制性高,可通过配置文件调整显示样式低,仅支持命令行选项
功能扩展支持水平/垂直滚动查看进程无滚动功能,显示有限

常见用法与示例

1. 按用户筛选进程:

htop --user=mysql

在这里插入图片描述

2. 按优先级排序:
启动后按 F6,选择 PRINICE 列。
sort by 选择列
在这里插入图片描述

3. 显示特定进程树:
F5 切换到树状视图,方便查看进程的父子关系。
在这里插入图片描述

4. 自定义显示列:
F2 进入设置菜单,选择“Columns”以调整需要显示的列。

5. 保存配置:
htop 的配置文件位于 ~/.config/htop/htoprc。您可以手动编辑,或通过 F2 配置后自动保存。

6.指定进程:

htop -p 1

在这里插入图片描述
7.指定刷新间隔

# 5秒刷新
htop -d 50

在这里插入图片描述


实际场景应用

1. 定位高 CPU 占用进程:
在界面中按 F6,选择 CPU 排序。高亮显示的进程即是高占用者。

2. 内存不足时查找问题进程:
F6 选择内存排序,查找内存消耗异常的进程。

3. 多核心 CPU 负载监控:
顶部显示所有 CPU 核心的利用率,可以快速判断负载分布是否均衡。

4. 批量终止进程:
通过 Space 键选中多个进程后,按 F9 一次性终止。


高级功能

1. 设置进程优先级:
选中目标进程,按 F7 降低优先级(增加 NICE 值),按 F8 提高优先级(减小 NICE 值)。

2. 网络 IO 和磁盘 IO 监控:
在设置菜单中启用相关列(如 IO_Read、IO_Write)以监控进程的网络和磁盘操作。

3. 远程服务器监控:
通过 SSH 登录远程服务器后直接运行 htop 监控远程主机资源。

ssh user@remote-server
htop

常见问题与解决方法

问题 1:启动时提示找不到命令
确保已安装 htop,并将其路径加入 PATH 环境变量。

问题 2:无法终止某些进程
尝试使用更高权限运行 htop

sudo htop

总结与建议

htop 是一款强大且易用的工具,无论是新手还是资深系统管理员,都能在日常管理中受益匪浅。其直观的界面和灵活的交互方式,使得资源监控、问题排查以及系统优化更加高效。

建议在日常使用中,结合 htop 的快捷键和筛选功能,以快速定位问题,提高工作效率。


欢迎留言讨论 😊

相关文章:

深入了解 Linux htop 命令:功能、用法与示例

文章目录 深入了解 Linux htop 命令:功能、用法与示例什么是 htop?htop 的安装htop的基本功能A区:系统资源使用情况B区:系统概览信息C区:进程列表D区:功能键快捷方式 与 top 的对比常见用法与示例实际场景应…...

JDK1.8新增特性

新特性: Lambda表达式: (语法三要素:参数、箭头、代码) JDK1.8引入的一种新语法Lambda表达式,它简化了匿名内部类的使用和提高代码的可读性。 /**正常写法创建Runable**/ Runnable runnable new Runnable() {Overridepublic voi…...

环境背景文本到语音转换

目录 概述演示效果核心逻辑使用方式 概述 本文所涉及的所有资源的获取方式:https://www.aspiringcode.com/content?id100000000027&uid2f1061526e3a4548ab2e111ad079ea8c 论文标题: 本文提出了 VoiceLDM,这是一种旨在生成准确遵循两种…...

后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用

目录 后端数据增删改查Springboot 实体(entity)类引进添加UserMapper接口 创建对用的UserController注意数据库查询不一致新增数据更新删除postman测试 后端数据增删改查 基于之前构建系统,实现用户数据的CRUD。 打开navicat16,…...

《Python编程实训快速上手》第九天--调试技巧

一、抛异常 异常类型分为两类,第一类是Python自带的异常类型(见《Python编程快速上手》第一天---前三章打基础),第二类是自定义异常。 面对自定义异常类型,使用raise抛异常,类型值默认为Exception&#x…...

html5复习一

目标 1、html5介绍及开发工具 2、html5标签 3、文本样式 4、图片标签和超链接标签 知识点: 万维网的构成: 1、url:统一资源定位器 2、http/https:超文本传输协议 3、html:超文本标记语言 html的后缀名: .html 和 .htm html基本…...

SSL/TLS,SSL,TLS分别是什么

SSL/TLS,SSL,TLS分别是什么 SSL(Secure Sockets Layer,安全套接层) 定义与发展历程: SSL 是一种早期的网络安全协议,旨在为网络通信提供保密性、数据完整性和身份验证等安全保障。它最初由网景…...

css iframe标签使用

<iframe> 标签用于在网页中嵌入另一个 HTML 页面。它非常灵活&#xff0c;可用于嵌入内容&#xff0c;比如其他网站、视频、地图等。以下是有关 <iframe> 的详细介绍及使用方法&#xff1a; 基本语法 <iframe src"URL" width"宽度" height…...

API的妙用

我们都知道&#xff0c;通过使用API可以快速开发部署应用&#xff0c;不需要从头开始收集处理数据。能够很好地提高效率。 一、加速应用程序开发和部署 通过调用API接口&#xff0c;可以快速获取数据、实现功能或整合其他服务&#xff0c;无需从零开始编写大量的代码&#xf…...

HTML5超酷响应式视频背景动画特效(六种风格,附源码)

文章目录 1.设计来源1.1 大气蓬勃动态背景界面效果1.2 星空闪闪动态背景界面效果1.3 眼神深眸动态背景界面效果1.4 星空银河动态背景界面效果1.5 花开花落动态背景界面效果1.6 海底世界动态背景界面效果 2.效果和源码2.1 动态效果2.2 源代码 源码下载万套模板&#xff0c;程序开…...

Spire.PDF for .NET【页面设置】演示:打开 PDF 时自动显示书签或缩略图

用户打开 PDF 文档时&#xff0c;他们会看到 PDF 的初始视图。默认情况下&#xff0c;打开 PDF 时不会显示书签面板或缩略图面板。在本文中&#xff0c;我们将演示如何设置文档属性&#xff0c;以便每次启动文件时都会打开书签面板或缩略图面板。 Spire.PDF for .NET 是一款独…...

算法中常用到的数学知识:埃拉托色尼筛法(获取质数)、欧几里得算法(求两个数最大公因数)

不管是在项目中还是面试时&#xff0c;一定的算法能力都是极其重要的。大多数算法只要有一定的基础&#xff0c;给足够的时间是可以写出来的&#xff0c;然而有一类算法&#xff0c;说难也不难&#xff0c;说简单也不简单&#xff0c;这种算法通常涉及到某种数学知识&#xff0…...

实战OpenCV之人脸识别

基础入门 随着计算机视觉技术和深度学习的发展,人脸识别已经成为一项广泛应用的技术,涵盖了从安全监控、身份验证、智能家居到大型公共安全项目等多个领域。 人脸识别技术通常包括以下几个主要步骤。 图像采集:通过摄像头或其他图像采集设备,捕获包含人脸的图像或视频帧。 …...

图像预处理之图像滤波

目录 图像滤波概览 均值滤波&#xff08;Mean Filter&#xff09; 中值滤波&#xff08;Median Filter&#xff09; 高斯滤波&#xff08;Gaussian Filter&#xff09; 双边滤波&#xff08;Bilateral Filter&#xff09; 方框滤波&#xff08;Box Filter&#xff09; S…...

【通俗理解】隐变量的变分分布探索——从公式到应用

【通俗理解】隐变量的变分分布探索——从公式到应用 关键词提炼 #隐变量 #变分分布 #概率模型 #公式推导 #期望最大化 #机器学习 #变分贝叶斯 #隐马尔可夫模型 第一节&#xff1a;隐变量的变分分布的类比与核心概念【尽可能通俗】 隐变量的变分分布就像是一场“捉迷藏”游戏…...

PyTorch 分布式并行计算

0. Abstract 使用 PyTorch 进行多卡训练, 最简单的是 DataParallel, 仅仅添加一两行代码就可以使模型在多张 GPU 上并行地计算. 但它是比较老的方法, 官方推荐使用新的 Distributed Data Parallel, 更加灵活与强大: 1. Distributed Data Parallel (DDP) 从一个简单的非分布…...

[cg] vulkan external_memory

最近在写硬件编码的代码&#xff0c;渲染器渲染出的RT需要给到编码器做硬编&#xff0c;有两种方法能做。 一是通过 map的方式&#xff0c;把显存里的数据读到cpu&#xff0c;拷贝一份cpu data给编码器&#xff0c;但这种方式会有内存拷贝的开销。所以&#xff0c;我们思考是否…...

如何使用Python代码实现给GPU预加热

如何使用Python代码实现给GPU预加热 一、引言二、使用深度学习框架进行预加热2.1 TensorFlow预加热2.2 PyTorch预加热三、使用CUDA进行预加热四、预加热的效果评估与优化五、结论与展望在高性能计算和深度学习领域,GPU(图形处理器)已经成为不可或缺的加速工具。然而,在实际…...

硬件知识 cadence16.6 原理图输出为pdf 网络名下划线偏移 (ORCAD)

1. cadence原理图输出为PDF网络名下划线偏移 生这种情况的原因 1. 设计的原理图图纸大小比正常的 A4图纸大。 2. 打印为PDF 的时候&#xff0c;打印机的设置有问题。 2.cadence原理图输出为 PDF网络名下划线偏移的情况 可以看到上图&#xff0c;网络名往上漂移。 3. 解决办法 …...

ffmpeg视频滤镜:提取缩略图-framestep

滤镜描述 官网地址 > FFmpeg Filters Documentation 这个滤镜会间隔N帧抽取一帧图片&#xff0c;因此这个可以用于设置视频的缩略图。总体上这个滤镜比较简单。 滤镜使用 滤镜参数 framestep AVOptions:step <int> ..FV....... set frame st…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝

目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为&#xff1a;一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...