深入了解 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.mzph.cn/diannao/61552.shtml

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

相关文章

【深度学习】【RKNN】【C++】模型转化、环境搭建以及模型部署的详细教程

【深度学习】【RKNN】【C】模型转化、环境搭建以及模型部署的详细教程 提示:博主取舍了很多大佬的博文并亲测有效,分享笔记邀大家共同学习讨论 文章目录 【深度学习】【RKNN】【C】模型转化、环境搭建以及模型部署的详细教程前言模型转换--pytorch转rknnpytorch转onnxonnx转rkn…

【spark】远程debug spark任务(含有pyspark)

--master yarn和--master client都是可以的。 spark-submit \ --master yarn \ --deploy-mode client \ --name "test-remote-debug" \ --conf "spark.driver.extraJavaOptions-agentlib:jdwptransportdt_socket,servery,suspendn,address5005" \ --conf …

如何使用 Vivado 从源码构建 Infinite-ISP FPGA 项目

如约介绍源码构建 Infinite-ISP 项目,其实大家等的是源码,所以中间过程简洁略过,可以直接翻到文末获取链接。 开源ISP(Infinite-ISP)介绍 构建工程 第一步,从文末或者下面链接获取源码 https://github.com/…

彻底理解Redis的持久化方式

一.由来 因为Redis之所以能够提供高效读写的操作,是因为它是基于内存的,但是这样也会带来一个问题,及在服务器宕机或者重启的情况下,内存里面的数据就会被丢失掉,所以为了解决这个问题,Redis就提供了持久化…

Bug Fix 20241122:缺少lib文件错误

今天有朋友提醒才突然发现 gitee 上传的代码存在两个很严重,同时也很低级的错误。 因为gitee的默认设置不允许二进制文件的提交, 所以PH47框架下的库文件(各逻辑层的库文件),以及Stm32Cube驱动的库文件都没上传到Gi…

NVR管理平台EasyNVR多个NVR同时管理:全方位安防监控视频融合云平台方案

EasyNVR是基于端-边-云一体化架构的安防监控视频融合云平台,具有简单轻量的部署方式与多样的功能,支持多种协议(如GB28181、RTSP、Onvif、RTMP)和设备类型(IPC、NVR等),提供视频直播、录像、回放…

微服务架构:10个实用设计模式

1 微服务架构 微服务架构的重要特征 微服务架构的优点 微服务架构的缺点 何时使用微服务架构 2 微服务架构的设计模式 独享数据库(Database per Microservice) 事件源(Event Sourcing) 命令和查询职责分离(CQRS&…

华为欧拉系统使用U盘制作引导安装华为欧拉操作系统

今天记录一下通过U盘来安装华为欧拉操作系统 华为欧拉操作系统是国产的一个类似于Centos的Linus系统 具体实现操作步骤: 先在官网下载欧拉系统镜像点击跳转到下载 准备好一个大于16g的U盘 ,用于制作U盘启动 下载一个引导程序制作工具,我使用…

20241121 android中树结构列表(使用recyclerView实现)

1、adapter-item的布局 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"wrap_content&…

C++初阶学习 第十二弹——stack与queue的介绍和使用

目录 一、stack&#xff08;栈&#xff09; 1.栈的概念&#xff1a; 2.成员函数包括&#xff1a; 3.栈的使用示例: 4. 使用时的注意事项&#xff1a; 二.queue&#xff08;队列&#xff09; 1.队列的概念 2.成员函数 3.队列的使用示例 4.使用时的注意事项 三.总结…

如何实现点击目录跳转到指定位置?【vue】

需求&#xff1a;实现目录点击跳转到指定位置&#xff0c;点击后直接定位到指定模块 效果&#xff1a; 实现方法&#xff1a; &#xff08;1&#xff09;a标签跳转 普通使用&#xff1a; <!DOCTYPE html> <html><head><title>a-Demo</title>&l…

【SKFramework框架】二、快速启动

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群&#xff1a;398291828小红书小破站 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【Unity3D框架】SKFramework框架完全教程《全…

鸿蒙多线程开发——线程间数据通信对象02

1、前 言 本文的讨论是接续鸿蒙多线程开发——线程间数据通信对象01的讨论。在上一篇文章中&#xff0c;我们讨论了常规的JS对象(普通JSON对象、Object、Map、Array等)、ArrayBuffer。其中讨论了ArrayBuffer的复制传输和转移传输方式。 下面&#xff0c;我们将讨论SharedArra…

时序论文22|ICML24港科大:面向多变量不规则的时间序列预测方法

论文标题&#xff1a;Irregular Multivariate Time Series Forecasting: A Transformable Patching Graph Neural Networks Approach 论文链接&#xff1a;https://openreview.net/pdf?idUZlMXUGI6e 前言 这篇文章在“定位研究问题”方面很值得学习。其实前段时间对时序研究…

Linux离线安装Docker命令,简单镜像操作

解压安装包 首先&#xff0c;使用 tar 命令解压 docker-27.3.1.tgz 安装包&#xff1a; tar -zxvf docker-27.3.1.tgz 将二进制文件移动到可执行路径上的目录 接着&#xff0c;将解压出来的 Docker 二进制文件复制到系统的可执行路径&#xff08;通常是 /usr/bin/&#xff09…

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号

Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-差分信号 Sigrity SPEED2000 TDR TDT Simulation模式如何进行时域阻抗仿真分析操作指导-单端信号详细介绍了单端信号如何进行TDR仿真分析,下面介绍如何对差分信号进行TDR分析,还是以下图为例进行分…

springboot基于微信小程序的食堂预约点餐系统

摘 要 基于微信小程序的食堂预约点餐系统是一种服务于学校和企事业单位食堂的智能化解决方案&#xff0c;旨在提高食堂就餐的效率、缓解排队压力&#xff0c;并优化用户的就餐体验。系统作为一种现代化的解决方案&#xff0c;为食堂管理和用户就餐提供了便捷高效的途径。它不仅…

Java线程池详解

线程池是用来管理和复用线程的一种技术&#xff0c;它避免了频繁的创建和销毁线程的开销&#xff0c;提高了应用程序的性能。在 Java 中&#xff0c;ExecutorService 是一个非常常用的接口&#xff0c;它提供了线程池的基本功能。 1. 线程池的优势 线程复用&#xff1a;线程池…

软件测试—— Selenium 常用函数(二)

前一篇文章&#xff1a;软件测试—— Selenium 常用函数&#xff08;一&#xff09;-CSDN博客 目录 前言 一、浏览器 1.常见操作 &#xff08;1&#xff09;打开网站 &#xff08;2&#xff09;前进、后退、刷新 2.参数设置 &#xff08;1&#xff09;设置无头模式 &am…

webgl threejs 云渲染(服务器渲染、后端渲染)解决方案

云渲染和流式传输共享三维模型场景 1、本地无需高端GPU设备即可提供三维项目渲染 云渲染和云流化媒体都可以让3D模型共享变得简单便捷。配备强大GPU的远程服务器早就可以处理密集的处理工作&#xff0c;而专有应用程序&#xff0c;用户也可以从任何个人设备查看全保真模型并与…