Linux还在用top命令?试试htop和btop更直观更高效!

文摘   2024-09-23 08:11   辽宁  
关注下方公众号,获取更多热点资讯

Linux还在用 top命令?试试htop和btop更直观更高效!

在 Linux 系统中,监控工具是系统管理员日常维护和排查问题的重要工具。本文将介绍三款常见的监控命令:tophtop 和 btop,帮助你快速了解系统资源的使用情况。top 是最基础的监控命令,简单易用;htop 则是它的扩展版,带有更直观的图形界面和鼠标交互功能;而 btop 则提供了更加现代化的 UI 和强大的系统监控能力。通过对比这三种工具,本文帮助你在不同的场景中选择最适合的工具来监控和管理系统资源。

top命令

top 命令是 Linux 系统上最基础的监控工具之一,几乎每个管理员都会使用它。top 可以实时显示系统的资源使用情况,如 CPU、内存、进程等。它的优势在于轻量、快速,并且无需额外安装,是每个 Linux 发行版中的默认工具。

使用方法

运行 top 后,可以看到系统的任务列表以及各个进程的资源使用情况。按下以下键可以进行交互:

  • • P:按 CPU 使用率排序

  • • M:按内存使用率排序

  • • T:按运行时间排序

  • • k:杀掉一个进程

  • • q:退出

适合在简单的系统监控场景中快速获取系统负载、进程状态等信息。


htop - top 扩展版本

htop 是 top 命令的扩展版本,功能上更加丰富,拥有直观的图形界面和鼠标交互功能。它可以显示完整的命令行、支持水平和垂直滚动查看进程列表,适合在复杂系统或需要频繁交互的场景中使用。

优势

  • • 直观的 CPU 和内存使用情况图表:每个 CPU 核心的使用率会显示在顶部,可以轻松查看多核处理器的使用情况。

  • • 全进程树展示htop 支持以树形结构展示进程间的关系,便于查看父子进程。

  • • 进程搜索和排序:通过 F3 查找进程,F5 切换进程树,F6 排序进程列表,管理更灵活。

  • • 可视化的 UI:通过鼠标点击即可进行操作,支持进程终止、调整优先级等功能。

安装使用方法

yum -y install epel-release
yum -y install htop

直接运行命令:

htop

使用场景

适合那些需要更多交互功能的系统管理员,如调试、查找高负载进程时,或者需要对进程优先级进行调整。


btop - 现代化的进程监控工具

btop 是 top 和 htop 的进一步扩展,拥有更为美观的用户界面和更强的交互功能。btop 提供了一个类似 GUI 的终端界面,展现了详细的系统信息,包括 CPU、内存、网络、磁盘使用情况等。

相比于 htop 和 topbtop 还提供了丰富的配色方案以及自定义选项,界面设计上更加现代化,并且能够监控更多的系统指标。

项目地址

https://github.com/aristocratos/btop

安装方法

Mac系统安装

brew install btop

Ubuntu系统安装

  1. 1. 安装依赖:

    sudo apt install coreutils sed git build-essential gcc-11 g++-11 lowdown
  2. 2. 下载并编译源码:

    git clone https://github.com/aristocratos/btop.git
    cd btop
    make && sudo make install

界面和功能介绍

运行 btop 后,你将看到一个极为美观的图形化界面,展示的内容包括:

  • • CPU 负载:每个核心的实时使用情况,以图形和数值两种形式显示。

  • • 内存和交换空间:详细显示物理内存和虚拟内存的使用情况。

  • • 磁盘 I/O:展示每个挂载点的读写速率和使用量。

  • • 网络流量:监控入站和出站的流量。

此外,还可以通过快捷键 Esc 打开设置界面,自定义显示内容、颜色主题和界面布局。btop 的强大之处在于它可以实时显示大量详细的信息,适用于需要对系统进行全面监控的场景,特别是当你想快速了解系统资源的消耗情况时。

效果



总结

  • • top:基础、轻量的进程监控工具,适合日常简单的系统监控。

  • • htop:功能增强版 top,提供可视化界面和丰富的交互功能,适合需要频繁管理进程的场景。

  • • btop:现代化的进程监控工具,UI 界面更加精美,信息更加全面,适合系统管理员和需要深入监控系统各项指标的用户。


  • 欢迎关注我的公众号“编程与架构”,原创技术文章第一时间推送。



编程与架构
专注于Java、大数据、AI以及开发运维技术的深入探索与分享。作为一名开源爱好者,致力于分享实战经验和前沿技术动态,帮助更多技术人提升技能。
 最新文章