深入了解 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 的快捷键和筛选功能,以快速定位问题,提高工作效率。


欢迎留言讨论 😊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/476413.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何删除Kafka中的数据以及删除topic

如何删除Kafka数据已经以及删除topic呢? 1、删除数据 先启动Kafka实例 docker exec -it kafka-0 /bin/bash #进去容器 rm -rf /bitnami/kafka/data/* #删除数据 exit #退出如果删除失败,可能是数据不存在于/bitnami/kafka/data,使用 cd /o…

Easyexcel(4-模板文件)

相关文章链接 Easyexcel(1-注解使用)Easyexcel(2-文件读取)Easyexcel(3-文件导出)Easyexcel(4-模板文件) 文件导出 获取 resources 目录下的文件,使用 withTemplate 获…

【2024最新】基于springboot+vue的疫情网课管理系统lw+ppt

作者:计算机搬砖家 开发技术:SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:Java精选实战项…

贴代码框架PasteForm特性介绍之image

简介 PasteForm是贴代码推出的 “新一代CRUD” ,基于ABPvNext,目的是通过对Dto的特性的标注,从而实现管理端的统一UI,借助于配套的PasteBuilder代码生成器,你可以快速的为自己的项目构建后台管理端!目前管…

从 IDC 到云原生:稳定性提升 100%,成本下降 50%,热联集团的数字化转型与未来展望

作者:金峰(项良)、朱永林、赵世振(寰奕) 公司简介 杭州热联集团股份有限公司成立于 1997 年 10 月,是隶属杭州市实业投资集团的国有控股公司。公司专业从事国际、国内钢铁贸易黑色大宗商品及产业服务&…

Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画

Python Turtle召唤童年:喜羊羊与灰太狼之懒羊羊绘画 🐸 前言 🐸🐞往期绘画🐞🐋 效果图 🐋🐉 代码 🐉 🐸 前言 🐸 小时候,每次打开电视…

SpringBoot学习记录(四)之分页查询

SpringBoot学习记录(四)之分页查询 一、业务需求1、基本信息2、请求参数3、相应数据 二、传统方式分页三、使用PageHelper分页插件 一、业务需求 根据条件进行员工数据的条件分页查询 1、基本信息 请求路径: /emps 请求方式: …

6. Spring Cloud Gateway网关超详细内容配置解析说明

6. Spring Cloud Gateway网关超详细内容配置解析说明 文章目录 6. Spring Cloud Gateway网关超详细内容配置解析说明前言1 Spring Cloud Gateway 概述1.1 Spring Cloud Gateway网关 的核心功能1.2 Spring Cloud Gateway VS Zuul 的区别1.3 Spring Cloud Gateway 的基本原理1.4 …

远程管理不再难!树莓派5安装Raspberry Pi OS并实现使用VNC异地连接

前言:大家好!今天我要教你们如何在树莓派5上安装Raspberry Pi OS,并配置SSH和VNC权限。通过这些步骤,你将能够在Windows电脑上使用VNC Viewer,结合Cpolar内网穿透工具,实现长期的公网远程访问管理本地树莓派…

Centos 8, add repo

Centos repo前言 Centos 8更换在线阿里云创建一键更换repo 自动化脚本 华为Centos 源 , 阿里云Centos 源 华为epel 源 , 阿里云epel 源vim /centos8_repo.sh #!/bin/bash # -*- coding: utf-8 -*- # Author: make.han

【机器学习】回归模型(线性回归+逻辑回归)原理详解

线性回归 Linear Regression 1 概述 线性回归类似高中的线性规划题目。线性回归要做的是就是找到一个数学公式能相对较完美地把所有自变量组合(加减乘除)起来,得到的结果和目标接近。 线性回归分为一元线性回归和多元线性回归。 2 一元线…

2024年亚太地区数学建模大赛D题-探索量子加速人工智能的前沿领域

量子计算在解决复杂问题和处理大规模数据集方面具有巨大的潜力,远远超过了经典计算机的能力。当与人工智能(AI)集成时,量子计算可以带来革命性的突破。它的并行处理能力能够在更短的时间内解决更复杂的问题,这对优化和…

STM32F103 GPIO和串口实战

本节我们将会对STM32F103的硬件资源GPIO和串口进行介绍。 一、GPIO 1.1 电路原理图 LED电路原理图如下图所示: 其中: LED1连接到PA8引脚,低电平点亮;LED2连接到PD2引脚,低电平点亮; 1.2 GPIO引脚介绍 STM32…

FileProvider高版本使用,跨进程传输文件

高版本的android对文件权限的管控抓的很严格,理论上两个应用之间的文件传递现在都应该是用FileProvider去实现,这篇博客来一起了解下它的实现原理。 首先我们要明确一点,FileProvider就是一个ContentProvider,所以需要在AndroidManifest.xml里面对它进行声明: <provideran…

国产linux系统(银河麒麟,统信uos)使用 PageOffice 动态生成word文件

PageOffice 国产版 &#xff1a;支持信创系统&#xff0c;支持银河麒麟V10和统信UOS&#xff0c;支持X86&#xff08;intel、兆芯、海光等&#xff09;、ARM&#xff08;飞腾、鲲鹏、麒麟等&#xff09;、龙芯&#xff08;LoogArch&#xff09;芯片架构。 数据区域填充文本 数…

《Python制作动态爱心粒子特效》

一、实现思路 粒子效果&#xff1a; – 使用Pygame模拟粒子运动&#xff0c;粒子会以爱心的轨迹分布并运动。爱心公式&#xff1a; 爱心的数学公式&#xff1a; x16sin 3 (t),y13cos(t)−5cos(2t)−2cos(3t)−cos(4t) 参数 t t 的范围决定爱心形状。 动态效果&#xff1a; 粒子…

[Docker-显示所有容器IP] 显示docker-compose.yml中所有容器IP的方法

本文由Markdown语法编辑器编辑完成。 1. 需求背景: 最近在启动一个服务时&#xff0c;突然发现它的一个接口&#xff0c;被另一个服务ip频繁的请求。 按理说&#xff0c;之前设置的是&#xff0c;每隔1分钟请求一次接口。但从日志来看&#xff0c;则是1秒钟请求一次&#xff…

JDK、MAVEN与IDEA的安装与配置

1.认识JDK、MAVEN与IDEA JDK 提供了编译和运行Java程序的基本环境。Maven 帮助管理项目的构建和依赖。IDEA 提供了一个强大的开发环境&#xff0c;使得编写、调试和运行Java程序更加高效。 2. 安装与环境配置 2.1 官网地址 选择你需要的版本下载&#xff1a; MAVEN下载传送…

C++标准模板库 -- map和set

序列式容器和关联式容器 在本篇文章之前&#xff0c;我们已经接触了STL中的部分容器&#xff1a;如string、vector、list、deque、array、forward_list等&#xff0c;这些容器被统称为序列式容器&#xff0c;因为逻辑结构为线性序列的数据结构&#xff0c;两个位置存储的值一般…

【Xbim+C#】创建圆盘扫掠IfcSweptDiskSolid

基础回顾 https://blog.csdn.net/liqian_ken/article/details/143867404 https://blog.csdn.net/liqian_ken/article/details/114851319 效果图 代码示例 在前文基础上&#xff0c;增加一个工具方法&#xff1a; public static IfcProductDefinitionShape CreateDiskSolidSha…