btop

btop

跨平台系统资源监控工具btop

btop是一款支持Linux、macOS和BSD系统的开源系统资源监控工具。它提供直观的用户界面,实时显示CPU、内存、磁盘、网络和进程使用情况。btop支持全面的鼠标操作,提供进程树视图和自定义主题,还能监控GPU。采用C++开发,性能优异,适合系统管理员和普通用户使用。

btop++系统资源监控性能监控命令行工具开源软件Github开源项目

btop++

<a href="https://repology.org/project/btop/versions"> <img src="https://repology.org/badge/vertical-allrepos/btop.svg" alt="Packaging status" align="right"> </a>

Linux macOS FreeBSD NetBSD OpenBSD Usage c++20 latest_release Donate Sponsor Coffee btop Continuous Build Linux Continuous Build macOS Continuous Build FreeBSD Continuous Build NetBSD Continuous Build OpenBSD

Index

News

7 January 2024

Btop release v1.3.0

Big release with GPU support added for Linux and platform support for OpenBSD. Big thanks to @romner-set (GPU support) and @joske (OpenBSD support) for contributions. And a multitude of bugfixes and small changes, see CHANGELOG.md and latest release for detailed list and attributions.

See news entry below for more information regarding GPU support.

25 November 2023

GPU monitoring added for Linux!

Compile from git main to try it out.

Use keys 5, 6, 7 and 0 to show/hide the gpu monitoring boxes. 5 = Gpu 1, 6 = Gpu 2, etc.

Gpu stats/graphs can also be displayed in the "Cpu box" (not as verbose), see the cpu options menu for info and configuration.

Note that the binaries provided on the release page (when released) and the continuous builds will not have gpu support enabled.

Because the GPU support relies on loading of dynamic gpu libraries, gpu support will not work when also static linking.

See Compilation Linux for more info on how to compile with gpu monitoring support.

Many thanks to @romner-set who wrote the vast majority of the implementation for GPU support.

Big update with version bump to 1.3 coming soon.

28 August 2022

btop4win

First release of btop4win available at https://github.com/aristocratos/btop4win

<details> <summary>More...</summary>
16 January 2022

Release v1.2.0 with FreeBSD support. No release binaries for FreeBSD provided as of yet.

Again a big thanks to @joske for his porting efforts!

Since compatibility with Linux, macOS and FreeBSD are done, the focus going forward will be on new features like GPU monitoring.

13 November 2021

Release v1.1.0 with macOS support. Binaries in continuous-build-macos are only x86 for now. macOS binaries + installer are included for both x86 and ARM64 (Apple Silicon) in the releases.

Big thank you to @joske who wrote the vast majority of the implementation!

30 October 2021

Work on the OSX [macOS] and FreeBSD branches, both initiated and mostly worked on by @joske, will likely be completed in the coming weeks. The OSX [macOS] branch has some memory leaks that needs to be sorted out and both have some issues with the processes cpu usage calculation and other smaller issues that needs fixing.

If you want to help out, test for bugs/fix bugs or just try out the branches:

macOS / OSX

# Install and use Homebrew or MacPorts package managers for easy dependency installation brew install coreutils make gcc@11 lowdown git clone https://github.com/aristocratos/btop.git cd btop git checkout OSX gmake

FreeBSD

sudo pkg install gmake gcc11 coreutils git lowdown git clone https://github.com/aristocratos/btop.git cd btop git checkout freebsd gmake

Note that GNU make (gmake) is recommended but not required for macOS/OSX but it is required on FreeBSD.

6 October 2021

macOS development have been started by @joske, big thanks :) See branch OSX for current progress.

18 September 2021

The Linux version of btop++ is complete. Released as version 1.0.0

I will be providing statically compiled binaries for a range of architectures in every release for those having problems compiling.

For compilation GCC 10 is required, GCC 11 preferred.

Please report any bugs to the Issues page.

The development plan right now:

  • 1.1.0 macOS [OSX] support
  • 1.2.0 FreeBSD support
  • 1.3.0 Support for GPU monitoring
  • 1.X.0 Other platforms and features...

Windows support is not in the plans as of now, but if anyone else wants to take it on, I will try to help.

5 May 2021

This project is gonna take some time until it has complete feature parity with bpytop, since all system information gathering will have to be written from scratch without any external libraries. And will need some help in the form of code contributions to get complete support for BSD and macOS/OSX.

</details>

Documents

CHANGELOG.md

CONTRIBUTING.md

CODE_OF_CONDUCT.md

Description

Resource monitor that shows usage and stats for processor, memory, disks, network and processes.

C++ version and continuation of bashtop and bpytop.

Features

  • Easy to use, with a game inspired menu system.
  • Full mouse support, all buttons with a highlighted key is clickable and mouse scroll works in process list and menu boxes.
  • Fast and responsive UI with UP, DOWN keys process selection.
  • Function for showing detailed stats for selected process.
  • Ability to filter processes.
  • Easy switching between sorting options.
  • Tree view of processes.
  • Send any signal to selected process.
  • UI menu for changing all config file options.
  • Auto scaling graph for network usage.
  • Shows IO activity and speeds for disks.
  • Battery meter
  • Selectable symbols for the graphs.
  • Custom presets
  • And more...

Themes

Btop++ uses the same theme files as bpytop and bashtop (some color values missing in bashtop themes) .

See themes folder for available themes.

The make install command places the default themes in [$PREFIX or /usr/local]/share/btop/themes. User created themes should be placed in $XDG_CONFIG_HOME/btop/themes or $HOME/.config/btop/themes.

Let me know if you want to contribute with new themes.

Support and funding

You can sponsor this project through github, see my sponsors page for options.

Or donate through paypal or ko-fi.

Any support is greatly appreciated!

Prerequisites

For best experience, a terminal with support for:

  • 24-bit truecolor (See list of terminals with truecolor support)
  • 256-color terminals are supported through 24-bit to 256-color conversion when setting "truecolor" to False in the options or with "-lc/--low-color" arguments.
  • 16 color TTY mode will be activated if a real tty device is detected. Can be forced with "-t/--tty_on" arguments.
  • Wide characters (Are sometimes problematic in web-based terminals)

Also needs a UTF8 locale and a font that covers:

  • Unicode Block “Braille Patterns” U+2800 - U+28FF (Not needed in TTY mode or with graphs set to type: block or tty.)
  • Unicode Block “Geometric Shapes” U+25A0 - U+25FF
  • Unicode Block "Box Drawing" and "Block Elements" U+2500 - U+259F

Optional Dependencies (Needed for GPU monitoring)

GPU monitoring also requires a btop binary built with GPU support (GPU_SUPPORT=true flag).

See GPU compatibility section for more about compiling with GPU support.

  • NVIDIA

If you have an NVIDIA GPU you must use an official NVIDIA driver, both the closed-source and open-source ones have been verified to work.

In addition to that you must also have the nvidia-ml dynamic library installed, which should be included with the driver package of your distribution.

  • AMD

If you have an AMD GPU rocm_smi_lib is required, which may or may not be packaged for your distribution.

Notice (Text rendering issues)

  • If you are having problems with the characters in the graphs not looking like they do in the screenshots, it's likely a problem with your systems configured fallback font not having support for braille characters.

  • See Terminess Powerline for an example of a font that includes the braille symbols.

  • See comments by @sgleizes link and @XenHat link in issue #100 for possible solutions.

  • If text are misaligned and you are using Konsole or Yakuake, turning off "Bi-Directional text rendering" is a possible fix.

  • Characters clipping in to each other or text/border misalignments is not bugs caused by btop, but most likely a fontconfig or terminal problem where the braille characters making up the graphs aren't rendered correctly.

  • Look to the creators of the terminal emulator you use to fix these issues if the previous mentioned fixes don't work for you.

Screenshots

Main UI showing details for a selected process

Screenshot 1

Main UI in TTY mode

Screenshot 2

Main UI with custom options

Screenshot 3

Main-menu

Screenshot 3

Options-menu

Screenshot 4

Help-menu

Screenshot 5

Installation

Binaries for Linux are statically compiled with musl and works on kernel 2.6.39 and newer

  1. Download btop-(VERSION)-(ARCH)-(PLATFORM).tbz from latest release and unpack to a new folder

    Notice! Use x86_64 for 64-bit x86 systems, i486 and i686 are 32-bit!

  2. Install (from created folder)

    • Run install.sh or:
    # use "make install PREFIX=/target/dir" to set target, default: /usr/local # only use "sudo" when installing to a NON user owned directory sudo make install
  3. (Optional) Set suid bit to make btop always run as root (or other user)

    Enables signal sending to any process without starting with sudo and can prevent /proc read permissions problems on some systems.

    • Run setuid.sh or:
    # run after make install and use same PREFIX if any was used at install # set SU_USER and SU_GROUP to select user and group, default is root:root sudo make setuid
  • Uninstall

    • Run uninstall.sh or:
    sudo make uninstall
  • Show help

    make help

Binary release (from native os repo)

  • openSUSE
  • Fedora
    sudo dnf install btop
  • RHEL/AlmaLinux 8+
    sudo dnf install epel-release sudo dnf install btop
  • FreeBSD
    pkg install btop
  • NetBSD
    pkg_add btop

Binary release on Homebrew (macOS (x86_64 & ARM64) / Linux (x86_64))

Compilation Linux

Requires at least GCC 10 or Clang 16.

The makefile also needs GNU coreutils and sed (should already be installed on any modern distribution).

GPU compatibility

Btop++ supports NVIDIA and AMD GPUs out of the box on Linux x86_64, provided you have the correct drivers and libraries.

Compatibility with Intel GPUs using generic DRM calls is planned, as is compatibility for FreeBSD and macOS.

Gpu support will not work when static linking glibc (or musl, etc.)!

For x86_64 Linux the flag GPU_SUPPORT is automatically set to true, to manually disable gpu support set the flag to false, like:

make GPU_SUPPORT=false (or cmake -DBTOP_GPU=false with CMake)

  • NVIDIA

    You must use an official NVIDIA driver, both the closed-source and open-source ones have been verified to work.

    In addition to that you must also have the nvidia-ml dynamic library installed, which should be included with the driver package of your distribution.

  • AMD

    AMDGPU data is queried using the ROCm SMI library, which may or may not be packaged for your distribution. If your distribution doesn't provide a package, btop++ is statically linked to ROCm SMI with the RSMI_STATIC=true make flag.

    This flag expects the ROCm SMI source code in lib/rocm_smi_lib, and compilation will fail if

编辑推荐精选

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI助手AI工具AI写作工具AI辅助写作蛙蛙写作学术助手办公助手营销助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

下拉加载更多