关于 bottom
bottom 是一款轻量级系统监控工具,提供可定制的 TUI 界面。支持实时显示 CPU、内存、磁盘、网络和进程信息,可通过 --basic 模式在资源受限环境下运行。
主要功能
- 01实时监控 CPU、内存、磁盘和网络使用情况
- 02交互式查看和排序进程列表
- 03通过基础模式在轻量级环境中运行
适用场景
- 01在服务器上持续监控系统资源使用
- 02快速诊断性能瓶颈和资源竞争
- 03在低功耗或远程设备上运行系统监控
安装
选择你的系统或包管理器,复制命令到终端运行。
安装完成后运行btm --version确认安装成功。
命令示例
常用命令按使用顺序排列。
详细介绍
演示使用了 Gruvbox 主题(--theme gruvbox)、IBM Plex Mono 字体和 Kitty
目录
功能
作为(又一个)进程/系统可视化与管理应用,bottom 支持以下常见功能:
-
图形化可视化组件:
- 随时间变化的CPU 使用率,包括平均值和每个核心的使用率
- 随时间变化的RAM 和交换空间使用率
- 随时间变化的网络 I/O 使用率
- 随时间变化的温度
- 随时间变化的磁盘 I/O 使用率
支持缩放当前显示的时间范围。
-
用于显示以下信息的组件:
-
用于显示、排序和搜索进程信息的进程组件,还支持:
-
支持 Linux、macOS 和 Windows 等跨平台系统,未来还计划支持更多平台。
-
可自定义的行为,可通过命令行选项或配置文件控制,例如:
- 自定义和内置配色主题
- 自定义组件行为
- 更改组件布局
- 筛选部分组件中的条目
-
以及更多功能:
更多详情请参阅文档。
支持
官方支持
bottom _官方_支持以下操作系统及对应架构:
- macOS(
x86_64、aarch64) - Linux(
x86_64、i686、aarch64) - Windows(
x86_64、i686)
这些平台经过测试,大多数情况下均可正常运行;对于这些平台上的问题,我们会尽可能修复。 此外,二进制文件均使用当时最新的稳定版 Rust 构建并测试。
有关受支持平台和已知问题的更多详情,请参阅文档。
非官方支持
bottom 可能也能在一些未获官方支持的平台上运行。请注意,未受支持的平台:
- 可能未在 CI 中测试构建或通过测试(有关已检查的平台,请参阅此处)。
- 可能未由维护者在稳定版发布前进行充分测试。
- 可能仅获得有限支持,例如缺少某些功能,或存在可能不会修复的错误。
请注意,部分未受支持的平台日后可能会获得官方支持(例如 FreeBSD)。
以下列出了一些目前未获官方支持、但可能可以编译/运行的平台;此列表并不全面:
- FreeBSD(
x86_64) - Linux(
armv6、armv7、powerpc64le、riscv64gc、loongarch64) - Android(
arm64) - Windows(
arm64) - NetBSD(
x86_64)
有关未受支持平台和已知问题的更多详情,请参阅文档。
安装
Cargo
通过 cargo 安装时,可以安装 bottom crate:
# You might need to update the stable version of Rust first.
# Other versions might work, but this is not guaranteed.
rustup update stable
# Install the binary from crates.io.
cargo install bottom --locked
# If you use another channel by default, you can specify
# the what channel to use like so:
cargo +stable install bottom --locked
# --locked may be omitted if you wish to not use the
# locked crate versions in Cargo.lock. However, be
# aware that this may cause problems with dependencies.
cargo install bottom
或者,也可以使用仓库作为来源,通过 cargo install 安装。
# You might need to update the stable version of Rust first.
# Other versions might work, but this is not guaranteed.
rustup update stable
# Option 1 - Download an archive from releases and install
curl -LO https://github.com/ClementTsang/bottom/archive/0.14.9.tar.gz
tar -xzvf 0.14.9.tar.gz
cargo install --path . --locked
# Option 2 - Manually clone the repo and install
git clone https://github.com/ClementTsang/bottom
cd bottom
cargo install --path . --locked
# Option 3 - Install using cargo with the repo as the source
cargo install --git https://github.com/ClementTsang/bottom --locked
# You can also pass in the target-cpu=native flag to try to
# use better CPU-specific optimizations. For example:
RUSTFLAGS="-C target-cpu=native" cargo install --path . --locked
Alpine
bottom 可通过 apk 作为 Alpine Linux 的软件包安装:
apk add bottom
文档软件包(bottom-doc)以及 Bash(bottom-bash-completion)、Fish(bottom-fish-completion)和 Zsh(bottom-zsh-completion)的补全也都可用。
Arch Linux
bottom 是一个官方软件包,可通过 pacman 安装:
sudo pacman -S bottom
如果你想获取尚未稳定的最新更改,也可以从 AUR 安装 bottom-git:
# Using paru
paru -S bottom-git
# Using yay
yay -S bottom-git
Debian / Ubuntu
每个稳定版本和夜间构建版本都会提供适用于 x86、aarch64 和 armv7 的 .deb 文件。
以下是一些通过这种方式安装的示例:
# x86-64
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.14.9/bottom_0.14.9-1_amd64.deb
sudo dpkg -i bottom_0.14.9-1_amd64.deb
# ARM64
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.14.9/bottom_0.14.9-1_arm64.deb
sudo dpkg -i bottom_0.14.9-1_arm64.deb
# ARM
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.14.9/bottom_0.14.9-1_armhf.deb
sudo dpkg -i bottom_0.14.9-1_armhf.deb
# musl-based
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.14.9/bottom-musl_0.14.9-1_amd64.deb
sudo dpkg -i bottom-musl_0.14.9-1_amd64.deb
Exherbo Linux
bottom 是一个 rust 软件包,可通过 cave 安装:
cave resolve -x repository/rust
cave resolve -x bottom
Fedora / CentOS / AlmaLinux / Rocky Linux
COPR
警告
atim/bottom似乎已无人维护,可能已经过时(相关问题)
bottom 可通过 COPR 获取:
sudo dnf copr enable atim/bottom -y
sudo dnf install bottom
Terra
bottom 也可通过 Terra 获取:
sudo dnf install --repofrompath 'terra,https://repos.fyralabs.com/terra$releasever' --setopt='terra.gpgkey=https://repos.fyralabs.com/terra$releasever/key.asc' terra-release
sudo dnf install bottom
RPM
发布页面也会提供适用于 x86 的 .rpm 文件。
例如:
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.14.9/bottom-0.14.9-1.x86_64.rpm
sudo dnf install ./bottom-0.14.9-1.x86_64.rpm
Gentoo
可在 Gentoo 官方仓库中获取:
sudo emerge --ask sys-process/bottom
Nix
可在 Nixpkgs 中以 bottom 的名称获取:
nix profile install nixpkgs#bottom
也可以通过 home-manager 模块安装和配置 bottom:
{
programs.bottom.enable = true;
}
openSUSE
可在 openSUSE Tumbleweed 中获取:
zypper in bottom
Snap
bottom 可作为 snap 获取:
sudo snap install bottom
# To allow the program to run as intended
sudo snap connect bottom:mount-observe
sudo snap connect bottom:hardware-observe
sudo snap connect bottom:system-observe
sudo snap connect bottom:process-control
Solus
可在 Solus 仓库中获取:
sudo eopkg it bottom
Void
可在 void-packages 仓库中获取:
sudo xbps-install bottom
Homebrew
可在此处获取该 formula:
brew install bottom
MacPorts
可在此处获取:
sudo port selfupdate
sudo port install bottom
Chocolatey
Chocolatey 软件包位于此处:
choco install bottom
Scoop
可在 Main bucket 中获取:
scoop install bottom
winget
可在此处找到 winget 软件包:
winget install bottom
# If you need a more specific app id:
winget install Clement.bottom
你可以通过控制面板、Options 或 winget --uninstall bottom 卸载。
Windows installer (MSI)
你可以从最新版本下载 .msi 文件并使用它,将 bottom 手动安装为 Windows 程序。
Conda
你可以使用 此 conda-smithy 仓库通过 conda 安装 bottom:
# Add the channel
conda config --add channels conda-forge
conda config --set channel_priority strict
# Install
conda install bottom
gah
也可以使用 gah 在 Linux 或 macOS 上安装 bottom:
gah install bottom
ghr
可以像这样使用 ghr 安装 bottom:
ghr install clementtsang/bottom
mise
bottom 可通过 mise 获取:
mise use -g bottom@latest
预编译二进制文件
你也可以使用预编译的发行版二进制文件:
下载与你的系统相匹配的二进制文件并解压即可使用。然后运行:
./btm
或者按照在系统上安装二进制文件的流程进行安装。
自动补全
发行版页面中的二进制文件包含 Bash、Zsh、fish、Powershell、Elvish、Fig 和 Nushell 的 Shell 自动补全文件。安装方法如下:
- 对于 Bash,将
btm.bash移动到$XDG_CONFIG_HOME/bash_completion or /etc/bash_completion.d/。 - 对于 Zsh,将
_btm移动到$fpath中的某个目录。 - 对于 fish,将
btm.fish移动到$HOME/.config/fish/completions/。 - 对于 PowerShell,将
_btm.ps1添加到你的 PowerShell 配置文件。 - 对于 Elvish,补全文件为
btm.elv。 - 对于 Fig,补全文件为
btm.ts。 - 对于 Nushell,使用
btm.nu。
如有需要,稳定版和 nightly 版发行包中也包含各自的自动补全文件 completion.tar.gz。
用法
你可以使用 btm 运行 bottom。
- 若要查看标志的帮助信息,可使用
btm -h快速浏览,或使用btm --help查看更多详情。 - 若要查看按键和鼠标绑定信息,可在 bottom 中按
?,或参阅文档页面。
你可以在文档中了解更多用法信息。
配置
bottom 接受多个命令行参数,可根据需要更改应用的行为。 此外,bottom 会在首次启动时自动生成配置文件,你可以对其进行修改。
有关配置的更多详情,请参阅文档。
故障排除
如果遇到问题,请查看故障排除页面。 如果问题仍未解决,可以考虑提问, 或者在认为这是一个 Bug 时提交错误报告。
文档
主要文档页面位于 https://bottom.pages.dev,由 Cloudflare Pages 托管。如有需要,也可以访问由 Github Pages 托管的镜像:https://clementtsang.github.io/bottom。
贡献
无论是报告 Bug、提出功能建议、维护软件包还是提交 PR,我们都欢迎你参与贡献!请阅读 CONTRIBUTING.md,了解如何为 bottom 贡献。
贡献者
感谢所有贡献者:
-
本应用使用了 许多、_许多_库,以及许多服务和程序编写而成;它们都建立在众多才华横溢的人们的工作之上。没有这一切,就不会有 bottom。
-
当然,也再次感谢所有贡献者和软件包维护者!
-
我也非常感谢所有使用 bottom 的人,以及那些特意报告错误或提出改进建议的人。希望它对其他人也有用。
-
感谢通过捐赠为我的工作提供经济支持的人们。
-
感谢 JetBrains 通过其开源支持计划提供我开发 bottom 所用工具的使用权限。
-
也感谢 SignPath.io 提供免费的代码签名服务,并感谢 SignPath Foundation 提供证书。