系统监视工具 | htop

引言

Htop 是一个交互式的系统监视器,提供了更加直观和友好的界面来显示系统的资源使用情况。是 top 命令的替代品,具有更多的功能和更好的可视化效果。

Htop 最初由 Hisham Muhammad 开发,在 2004 年发布第一个版本。它的目标是提供一个更先进的资源监视工具,能够更清晰地显示系统的运行状态,并提供更多的操作选项。

在 htop 中,可以轻松地浏览并管理系统上运行的进程、查看 CPU 和内存使用情况,并在需要时对进程执行各种操作。Htop 还提供可定制的界面,允许用户根据自己的需求进行配置。

随着时间的推移,Htop 不断发展,添加新的功能和改进,成为许多 Linux 和类 Unix 系统管理员喜爱的工具之一。其界面简单直观,功能丰富,使得用户更容易理解和管理系统资源。

基本语法:

htop

功能和用法:

  1. 界面介绍:

    • htop 界面分为多个部分,包括进程列表、系统资源使用情况、命令栏等,通过彩色和符号对不同的信息进行标记和区分。
    • 在进程列表中,可以看到每个进程的详细信息,如 PID、CPU 使用情况、内存占用、用户、进程优先级等。
  2. 交互式操作:

    • 使用箭头键可以在不同的进程间进行上下滚动选择。
    • F2:进入设置界面,可以配置显示选项。
    • F3F4:根据进程名和命令过滤显示。
    • F5:刷新进程列表。
    • F9:选择和发送信号给选定的进程。
  3. 排序和查看信息:

    • 默认情况下,按 CPU 使用率进行排序,但你可以通过按 F6 键来选择不同的排序方式(如内存、PID等)。
    • htop 中,你可以查看 CPU 使用率、内存占用情况、进程的树状结构等信息。
  4. 进程管理:

    • 选中一个进程后,可以使用 F9 键发送信号,如终止进程等。
    • 可以通过 k 键杀死选中的进程。
  5. 其他功能:

    • htop 支持鼠标点击操作,便于在界面上选择和操作进程。
    • 提供在命令行中执行操作选项,如按 U 键显示特定用户的进程。

htop 是一个功能强大且易于使用的系统监视工具,能够帮助你更直观地了解系统资源的使用情况,并且通过交互式操作方便地管理进程。

基本界面和进程列表:

  1. 进程列表:

    • 进程列表,显示各个进程的详细信息,如进程ID(PID)、CPU利用率、内存使用情况等。
  2. 快捷键:

    • 使用箭头键上下移动光标选中不同的进程。
    • F2 进入设置界面,可以配置显示选项。
    • F3 输入过滤条件,筛选显示特定名称的进程。
    • F4 输入过滤条件,筛选显示特定命令的进程。
    • F5 刷新进程列表。
    • F9 选择并发送信号给选中的进程,比如终止进程等。

查看系统资源和排序:

  1. 资源查看:

    • 在顶部可以看到 CPU 和内存的使用情况,以及系统负载等信息。
  2. 资源排序:

    • F6 键可以选择不同的排序方式,比如按内存、PID等进行排序。

其他操作和快捷键:

  1. 鼠标支持:

    • htop 支持鼠标点击操作,可以在界面上选择和操作进程。
  2. 用户进程查看:

    • U 键可以选择显示特定用户的进程。

这些只是 htop 的部分功能和操作示例。丰富的交互功能,能够更方便地管理和监视系统上的进程和资源。
退出 htop,按 Ctrl + C 或者直接关闭终端窗口即可。

高级功能

htop 高级功能和示例:

1. 树状显示进程:

  • 使用 F5 刷新进程列表。
  • 选中一个进程,按下 F2 进入设置界面,启用 “Tree view”(树状视图)选项。
  • 将以树状结构显示进程,更清晰地看到进程之间的父子关系和相互依赖。

2. 资源监控和显示:

  • 选中 htop 顶部的不同列标题,例如 CPU、内存等。
  • 按下 Shift + P 可以按 CPU 使用率进行排序。
  • 按下 Shift + M 可以按内存使用率进行排序。
  • 这些快捷键可帮助你快速查找消耗资源最多的进程。

3. 进程详细信息查看:

  • 选中一个进程后,按下 F1 键查看详细信息。
  • 显示有关选定进程的更多信息,如线程、文件描述符、内存映射等。

4. 用户自定义列显示:

  • 按下 F2 进入设置界面,在 “Available Columns”(可用列)中选择想要显示的列。
  • 可以自定义进程列表中显示的列,根据自己的需求添加或删除特定信息。

5. 进程搜索和定位:

  • 按下 / 键进行进程搜索,输入进程名称,htop 将会定位并高亮显示匹配的进程。

高级功能可以更详细地查看系统资源和进程信息,更好地理解系统的运行状态,并且根据需要采取相应的操作。

输出

htop 并不提供直接的格式化输出,可以使用一些其他的工具和方法将 htop 的输出转换为特定格式或进行记录。

1. 使用命令行选项:

  • htop 支持在命令行中使用选项,例如 -u 用于筛选指定用户的进程, -p 用于选择指定的进程ID等。

2. 使用脚本保存输出:

  • 可以编写一个脚本来定期运行 htop 并将输出保存到文件中。比如使用 Bash 脚本:

    #!/bin/bash
    htop > htop_output.txt
    

    这个脚本会将 htop 的输出保存到 htop_output.txt 文件中。

3. 结合其他工具处理输出:

  • htop 的输出通过管道传递给其他命令,进行格式化或处理。比如结合 awkgrep 等工具来筛选和处理输出。

4. 使用第三方工具记录和分析:

  • 使用类似 sysstat 中的工具(如 sar)进行系统性能监控,并将 htop 输出作为其中一部分信息进行记录。

5. 示例脚本,使用 htop 记录系统资源使用情况:

#!/bin/bash# 设置记录文件名和时间间隔(秒)
LOG_FILE="system_stats.log"
INTERVAL=5# 写入日志文件的标题行
echo "Timestamp, CPU(%), Mem(%), Swap(%)" > $LOG_FILE# 循环记录系统资源使用情况
while true
do# 获取当前时间戳TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")# 使用 htop 和 grep 获取 CPU 和内存使用情况CPU_USAGE=$(htop -b -n1 | grep "CPU" | awk '{print $2}')MEM_USAGE=$(htop -b -n1 | grep "Mem" | awk '{print $2}')SWAP_USAGE=$(htop -b -n1 | grep "Swap" | awk '{print $2}')# 将数据写入日志文件echo "$TIMESTAMP, $CPU_USAGE, $MEM_USAGE, $SWAP_USAGE" >> $LOG_FILE# 等待一段时间后再次记录(间隔时间)sleep $INTERVAL
done

脚本定期(每隔指定的时间间隔)记录系统的 CPU 使用率、内存使用率和交换分区使用率,并将数据写入到名为 system_stats.log 的日志文件中。

使用这个脚本,将其保存为一个文件(例如 record_stats.sh),然后赋予执行权限 (chmod +x record_stats.sh)。运行脚本 (./record_stats.sh),开始记录系统资源使用情况,并将数据追加到指定的日志文件中。

总结:

总的来说,htop 是一个功能强大且易于使用的系统监视工具,通过交互式的界面和丰富的功能,更轻松地管理系统资源和进程。


**喜欢的话,请收藏 | 关注(✪ω✪)**
……**万一有趣的事还在后头呢,Fight!!(o^-^)~''☆ミ☆ミ**……

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

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

相关文章

基于SpringBoot的宠物领养系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot的宠物领养系统,java项目…

jsp结合servlet

servlet配置 环境配置2023.12.31 idea配置搭建 创建一个普通的java项目 由于新版idea去除了add framework support的ui显示,可以在左边项目栏中使用快捷键shiftk或者setting中搜索add framework support在修改对应的快捷键 点击ok然后应该就是下面这样的结果 这里…

openCv读取外网URL链接图片

安装指定库 要使用OpenCV读取URL链接中的图像,你可以使用urllib库下载图像,并使用OpenCV对其进行处理。以下是一个简单的例子: 首先,确保你已经安装了OpenCV和urllib库,终端执行下面语句。 pip install opencv-pytho…

HarmonyOS应用开发-搭建开发环境

本文介绍如何搭建 HarmonyOS 应用的开发环境,介绍下载安装 DevEco Studio 开发工具和 SDK 的详细流程。华为鸿蒙 DevEco Studio 是面向全场景的一站式集成开发环境,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多…

监控电脑的软件(无感知、无进程、无图标)

当下,电脑监控软件扮演着越来越重要的角色。然而,在探讨这一话题时,我们必须首先明确一个重要的前提:任何未经他人同意的监控行为都是不道德的,并且可能构成违法行为。因此,本文将专注于合法的、经过授权的…

IRQ Handler 的使用——以USART串口接收中断分别在标准库与HAL库版本下的举例

前言: 1.中断系统及EXTI外部中断知识点见我的博文: 9.中断系统、EXTI外部中断_eirq-CSDN博客文章浏览阅读301次,点赞7次,收藏6次。EXTI(Extern Interrupt)外部中断EXTI可以监测指定GPIO口的电平信号&…

嵌入式视频播放器(mplayer)

1.文件准备: MPlayer-1.0rc2.tar.bz2 libmad-0.15.1b.tar.gz 直接Git到本地 git clone https://gitee.com/zxz_FINE/mplayer_tarball.git 2.文件夹准备: src存放解压后的源码文件,target_Mplayer存放编译安装的目标文件 mkdir src targe…

RK3568平台 Android13 GKI架构开发方式

一.GKI简介 GKI:Generic Kernel Image 通用内核映像。 Android13 GMS和EDLA认证的一个难点是google强制要求要支持GKI。GKI通用内核映像,是google为了解决内核碎片化的问题,而设计的通过提供统一核心内核并将SoC和板级驱动从核心内核移至可加…

008、所有权

所有权可以说是Rust中最为独特的一个功能了。正是所有权概念和相关工具的引入,Rust才能够在没有垃圾回收机制的前提下保障内存安全。 因此,正确地了解所有权概念及其在Rust中的实现方式,对于所有Rust开发者来讲都是十分重要的。在本文中&…

创新技术,助力电力行业:配网故障定位系统的应用与优势

随着科技的不断发展,电力行业也在不断地进行技术创新。在这个过程中,配网故障定位系统作为一种新型的技术手段,为电力行业的安全生产和管理提供了有力的支持。本文将介绍配网行波型故障预警与定位系统的应用与优势,以期为电力行业…

PHP特性知识点扫盲 - 下篇

概述 在实际的生产环境中遇到了实际需要解决的问题,需要把服务部署的方式梳理出来,在同一个服务器中部署多个PHP环境,架构图如下: 架构方案 在工作实践中遇到的很多问题的普遍性都是相通的,公司运行的可新项目都是版…

腾讯云轻量应用服务器和云服务器哪个好?肯定是...

腾讯云轻量应用服务器和云服务器哪个好?云服务器CVM更好,但是轻量应用服务器性价比更高,轻量应用服务器CPU内存公网带宽配置更高,价格更优惠。腾讯云服务器网txyfwq.com轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年&…

复盘2023年,让你变强的54句话(句句扎心!)

w关注 ▲晓衡的游戏开发圈▲ 一起共同成长这是晓衡公众号第 525 篇原创分享 罗翔老师说:“我觉得人最大的痛苦,就是无法跨越知道和做到的鸿沟。”最怕问初衷,梦幻成空,年少励志三千里,踌躇百步无寸功,转眼高…

第十二章 创建Callout Library - 为旧版短字符串配置 $ZF 堆

文章目录 第十二章 创建Callout Library - 为旧版短字符串配置 $ZF 堆为旧版短字符串配置 $ZF 堆 第十二章 创建Callout Library - 为旧版短字符串配置 $ZF 堆 为旧版短字符串配置 $ZF 堆 注意:本节仅适用于旧版短字符串(请参阅“使用 B 链接类型传递短…

微服务-理论(CAP,一致性协议)

CAP理论 关于CAP理论的介绍可以直接看这篇文章 CAP分别是什么? 一致性(Consistency 一致性包括强一致性,弱一致性,最终一致性。 一致性其实是指数据的一致性,为什么数据会不一致呢? 如上面这张图&…

下界通配符(? super Type)

在Java中,? super Type是一个下界通配符,表示参数化类型的下限是Type。这意味着容器可以持有Type类型的任何对象或者Type的父类型对象。 使用场景 这种类型的通配符通常用于泛型方法中,允许方法接受Type的实例或其父类型的集合。这是基于PE…

【最优化方法】对称矩阵的对角化

文章目录 正交化方法示例 矩阵正交化 正交化方法 设 R n R^n Rn 中线性无关组 a 1 , a 2 , a 3 , … , a n a_1,a_2,a_3,\dots,a_n a1​,a2​,a3​,…,an​,令 β 1 α 1 β 2 α 2 − [ α 2 β 1 ] ∣ ∣ β 1 ∣ ∣ β 1 β 3 α 3 − [ α 3 β 1 ] ∣ ∣…

oCPC实践录 | 目标ROI的出价与转化回传调控算法

这篇文章我们聊聊广告主在oCPC下,怎么调控自己的出价或者回传转化优化自己的ROI。 ROI是广告主最关心的指标了,根据oCPC出价的基本原理ocpc_bid pcvr * given_cpa * k, 广告主在整个出价中有两个可以控制的变量来影响出价,一个是直接的give…

NB-IoT BC260Y Open CPU SDK⑱ctlwm2m连接天翼物联CWing平台

NB-IoT BC260Y Open CPU SDK⑱ctlwm2m连接天翼物联CWing平台 1、平台介绍2、SDK支持CTLWM2M协议2、CTLWM2M API的使用3、软件设计1)、上报业务数据2)、上报报警事件3)、上报故障事件4)、接收平台数据并应答5)、根据唤醒模式触发不同的应用4、实例分析5、以下是调试的结果:…

Redis缓存穿透,缓存击穿,缓存雪崩

文章目录 Redis缓存穿透,缓存击穿,缓存雪崩1. 缓存穿透1.1 解决方案1:缓存空数据1.2 解决方案2:使用布隆过滤器1.2.1 布隆过滤器介绍 2. 缓存击穿2.1 解决方案1:互斥锁2.2 解决方案2:逻辑过期 3. 缓存雪崩3…