系统监视工具 | htop

2024-01-02 11:20
文章标签 工具 系统 监视 htop

本文主要是介绍系统监视工具 | 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^-^)~''☆ミ☆ミ**……

这篇关于系统监视工具 | htop的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/562303

相关文章

使用Python和SQLAlchemy实现高效的邮件发送系统

《使用Python和SQLAlchemy实现高效的邮件发送系统》在现代Web应用中,邮件通知是不可或缺的功能之一,无论是订单确认、文件处理结果通知,还是系统告警,邮件都是最常用的通信方式之一,本文将详... 目录引言1. 需求分析2. 数据库设计2.1 User 表(存储用户信息)2.2 CustomerO

Spring Validation中9个数据校验工具使用指南

《SpringValidation中9个数据校验工具使用指南》SpringValidation作为Spring生态系统的重要组成部分,提供了一套强大而灵活的数据校验机制,本文给大家介绍了Spring... 目录1. Bean Validation基础注解常用注解示例在控制器中应用2. 自定义约束验证器定义自

Linux系统调试之ltrace工具使用与调试过程

《Linux系统调试之ltrace工具使用与调试过程》:本文主要介绍Linux系统调试之ltrace工具使用与调试过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、ltrace 定义与作用二、ltrace 工作原理1. 劫持进程的 PLT/GOT 表2. 重定

Springboot实现推荐系统的协同过滤算法

《Springboot实现推荐系统的协同过滤算法》协同过滤算法是一种在推荐系统中广泛使用的算法,用于预测用户对物品(如商品、电影、音乐等)的偏好,从而实现个性化推荐,下面给大家介绍Springboot... 目录前言基本原理 算法分类 计算方法应用场景 代码实现 前言协同过滤算法(Collaborativ

使用Java编写一个字符脱敏工具类

《使用Java编写一个字符脱敏工具类》这篇文章主要为大家详细介绍了如何使用Java编写一个字符脱敏工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、字符脱敏工具类2、测试工具类3、测试结果1、字符脱敏工具类import lombok.extern.slf4j.Slf4j

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Windows系统宽带限制如何解除?

《Windows系统宽带限制如何解除?》有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文就跟大家一起来看看Windows系统解除网络限制的操作方法吧... 有不少用户反映电脑网速慢得情况,可能是宽带速度被限制的原因,只需解除限制即可,具体该如何操作呢?本文

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL