近 2 万 star 的开源实时系统监控工具 btop:高颜值、支持 Linux 和 Mac,用了就再也回不去了!

大家好,我是民工哥!

作为一个运维老司机,我们是天天都在和运维监控工具打交道。

Linux 系统也自带一些监控命令,比如:top、htop、atop、iotop等。

top 命令用于实时显示系统资源使用情况。它可以显示系统摘要信息,以及内核当前正在管理的进程或线程的列表。我们可以通过 top 命令实时动态地查看系统的整体运行情况,它是一个非常实用的系统性能和运行信息的监测工具。通过 top 命令所提供的互动式界面,用热键也可以管理。

iotop 命令用来查看磁盘 I/O 使用状况的工具。iotop 具有与 top 相似的 UI界面,其展示的包括 PID、用户、I/O、进程等相关信息。

atop 命令是一款监控 Linux 系统资源与进程的工具,非内部命令,需要安装。

htop 是一款增强的、交互式的进程查看器,它是 top 命令的现代替代品,提供了更为丰富的功能和用户友好的界面。htop 允许用户通过颜色编码来区分不同类型的进程,支持垂直和水平滚动查看所有进程和它们的详细信息,以及通过鼠标操作来方便地管理进程。

在大多数Linux发行版中,htop 都可以通过包管理器进行安装。例如,在基于Debian的系统(如Ubuntu)中,可以使用以下命令安装:

代码语言:javascript代码运行次数:0运行复制
sudo apt-get update  
sudo apt-get install htop

在基于RPM的系统(如Fedora或CentOS)中,可以使用:

代码语言:javascript代码运行次数:0运行复制
sudo dnf install htop  # Fedora  
# 或者  
sudo yum install htop  # CentOS 7及以前版本
代码语言:javascript代码运行次数:0运行复制
# htop
Tasks: 262 total,   2 running, 260 sleeping,   0 stopped,   0 zombie  
%Cpu(s):  5.9 us,  1.9 sy,  0.0 ni, 89.7 id,  0.0 wa,  0.0 hi,  2.5 si,  0.0 st  
MiB Mem :   7917.5 total,   2246.4 free,   1635.3 used,   3958.4 buff/cache  
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   5743.7 avail Mem   
  
  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  COMMAND                                                             
 1234 user      20   0 1437m 1198m  872m S 11.2 15.6  01:23.43 firefox                                                              
 ...

这些命令行工具都提供了强大的进程管理和系统监控功能,使得系统维护和管理变得更加高效和便捷。

今天,再给大家介绍一款功能非常强大的命令行监控工具:btop

简介

btop 是一款现代化的系统监控工具,它是传统top命令的现代替代品,提供了丰富的图形界面和增强的交互功能。

btop其真实名字叫 btop++ ,基于 C++ 语言开发的。

主要功能与特性
  • 实时系统监控:btop能够展示系统的内存、磁盘、网络利用率以及进程信息等,提供对系统资源的实时监控。
  • 增强型信息显示:相比传统的top命令,btop提供了更丰富的信息,如CPU使用的累计流图、磁盘和网络的具体使用情况等。
  • 交互式界面:btop支持鼠标和键盘操作,用户可以轻松地通过鼠标点击或键盘按键来导航和选择进程,查看详细信息或执行操作。
  • 进程管理与操作:用户可以筛选、排序进程,向选定进程发送信号,甚至终止进程,提高了系统管理的便捷性。
  • 自定义配置:btop支持自定义配置,用户可以根据自己的需求调整显示设置,如颜色主题、字体大小等。
支持的平台

btop 支持多种操作系统,包括Linux、FreeBSD和macOS。这使得它可以在不同的系统环境下使用,满足不同用户的需求。

安装与使用

安装

btop 可以通过包管理器(如apt、dnf等)在支持的 Linux 发行版上安装,也可以通过源码编译的方式安装。

代码语言:javascript代码运行次数:0运行复制
sudo dnf install epel-release
sudo dnf install btop

对于MacOS用户,可以使用Homebrew进行安装。

代码语言:javascript代码运行次数:0运行复制
brew install btop

使用

安装完成后,用户只需在终端输入btop命令即可启动该工具。启动后,用户可以通过鼠标或键盘操作来查看系统信息和管理进程。

h可以获取更多快捷键帮助。

每个界面用不同的颜色来显示不同的信息,其实,你只需要仔细观察就会发现这个界面里有很多重复显示的信息。

我们需要真正关注只有 btop 的四个模块,这个四模块分别是:

  • 1、CPU模块
  • 2、存储模块
  • 3、网络模块
  • 4、进程模块

我们可能通过按1 2 3 4来显示这些模块,按一次显示,再接着按一次就隐藏了。

CPU模块

CPU模块主要显示以下信息:

  • CPU型号:显示当前系统的CPU型号。
  • 各内核使用率:展示每个CPU内核的使用率,帮助用户了解多核CPU的负载情况。
  • 温度:显示CPU的温度,有助于监控系统的散热情况。
  • CPU整体负载:提供一个整体负载指标,反映CPU的繁忙程度。
  • 直观图象:通过图表或图形方式直观展示CPU的使用情况,便于用户快速理解。
存储模块

存储模块包括内存和磁盘使用情况两部分:

  • 内存使用情况:显示系统的总内存、已用内存、空闲内存等信息,帮助用户了解内存的分配和使用情况。
  • 磁盘使用情况:展示各个磁盘分区的使用情况,包括总空间、已用空间、空闲空间等,便于用户监控磁盘的存储状态。
网络模块

网络模块主要显示以下信息:

  • 网络整体负载:提供网络的整体负载情况,帮助用户了解系统的网络传输压力。
  • 吞吐情况:展示网络的上行和下行数据汇总,包括传输速率、数据包数量等,有助于用户分析网络流量。
  • 不同网卡信息:用户可以通过快捷键切换查看不同网卡的信息,了解各网卡的详细使用情况。
进程模块

进程模块是btop中最重要的模块之一,它显示以下信息:

  • 进程ID(PID):每个进程的唯一标识符。
  • 进程名称:进程的名称或执行程序的名称。
  • 执行命令路径:启动进程的命令或脚本的路径。
  • 线程数:进程包含的线程数量。
  • 用户:启动进程的用户名。
  • 内存使用情况(MemB):进程占用的内存量。
  • CPU使用率(Cpu%):进程占用的CPU百分比。

此外,进程模块还支持以下功能:

  • 排序:用户可以通过快捷键(如r、m等)按照CPU使用率、内存使用率等指标对进程进行排序。
  • 过滤:用户可以通过输入关键字来过滤进程列表,快速找到感兴趣的进程。
  • 进程详情:选中某个进程后,可以通过按回车键查看该进程的详细信息,包括进程树、打开的文件、网络连接等。
  • 操作进程:用户可以直接在btop中对进程进行操作,如发送信号(如SIGKILL)来终止进程。

应用场景

btop适用于多种场景,包括:

  • 服务器监控:在远程服务器上定期检查资源使用情况,及时发现潜在的问题。
  • 性能优化:定位CPU或内存占用高的进程,优化资源分配。
  • 开发环境:在本地开发环境中跟踪内存泄漏或其他性能问题。
  • 故障排查:当遇到系统卡顿时,快速查看哪些进程可能导致了问题。

总结

btop 是一款功能强大、易于使用的系统监控工具,它提供了丰富的信息展示和增强的交互功能,使得系统管理员和开发人员可以更加便捷地监控和管理系统资源。

无论是在服务器环境还是桌面环境中,btop 都能发挥重要的作用。