bottom について
bottom はカスタマイズ可能な TUI インターフェースを備えた軽量なシステム監視ツールです。CPU、メモリ、ディスク、ネットワーク、プロセスのリアルタイム情報を表示し、リソース制約環境では --basic モードで実行できます。
主な機能
- 01CPU、メモリ、ディスク、ネットワーク使用率をリアルタイム監視
- 02プロセスリストを対話的に参照・ソート
- 03リソース制約環境で軽量モードとして実行
活用シーン
- 01サーバー上のシステムリソース使用状況を継続的に追跡
- 02パフォーマンスボトルネックとリソース競合を素早く診断
- 03低消費電力またはリモートデバイスでシステム監視を実行
インストール
OS またはパッケージマネージャーを選び、コマンドをターミナルで実行します。
インストール後にbtm --versionを実行して確認します。
コマンド例
よく使うコマンドを使う順に並べています。
詳細
bottom(btm)
ターミナルで使える、カスタマイズ可能なクロスプラットフォームのグラフィカルなプロセス/システムモニターです。
Linux、macOS、Windows に対応しています。gtop、gotop、htopに着想を得ています。
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
bottom クレートをインストールすることで、cargo 経由でインストールできます。
# 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 は Alpine Linux 向けに apk でインストールできる パッケージ として提供されています:
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
まだ安定版になっていない最新の変更が欲しい場合は、bottom-git を AUR からインストールすることもできます:
# 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 は cave でインストールできる rust パッケージとして提供されています:
cave resolve -x repository/rust
cave resolve -x bottom
Fedora / CentOS / AlmaLinux / Rocky Linux
COPR
警告
atim/bottomはメンテナンスされていないようで、古くなっている可能性があります(関連する issue)
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
.rpm ファイルも x86 向けに リリースページで生成されています。
例:
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
bottom は home-manager モジュールを通じてインストールおよび設定することもできます:
{
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 バケットで利用できます:
scoop install bottom
winget
winget パッケージはこちらにあります:
winget install bottom
# If you need a more specific app id:
winget install Clement.bottom
アンインストールはコントロールパネル、オプション、または winget --uninstall bottom から行えます。
Windows インストーラー (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
bottom は、gah を使って Linux または macOS にもインストールできます。
gah install bottom
ghr
bottom は、次のように ghr を使ってインストールできます。
ghr install clementtsang/bottom
mise
bottom は mise から利用できます。
mise use -g bottom@latest
ビルド済みバイナリ
ビルド済みのリリースバイナリも利用できます。
使用するには、お使いのシステムに合ったバイナリをダウンロードして展開してください。その後、次のように実行できます。
./btm
または、システムへのバイナリのインストール手順に従ってインストールすることもできます。
自動補完
リリースページにあるリリースバイナリには、Bash、Zsh、fish、Powershell、Elvish、Fig、Nushell 用のシェル自動補完ファイルが含まれています。インストールするには、次の手順に従ってください。
- 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を使用します。
必要に応じて、個別の自動補完ファイルは安定版/ナイトリーリリースにも completion.tar.gz として含まれています。
使用方法
btm を使って bottom を実行できます。
- フラグのヘルプを表示するには、概要を確認する場合は
btm -h、詳細を確認する場合はbtm --helpを使用します。 - キーとマウスのバインドについては、bottom の実行中に
?を押すか、ドキュメントページを参照してください。
使用方法の詳細は、ドキュメントで確認できます。
設定
bottom は、アプリケーションの動作を必要に応じて変更するためのコマンドライン引数をいくつか受け付けます。また、bottom は初回起動時に設定ファイルを自動生成し、後から変更できます。
設定の詳細は、ドキュメントを参照してください。
トラブルシューティング
問題が発生した場合は、トラブルシューティングページをご確認ください。それでも解決しない場合は、質問するか、バグだと思われる場合はバグレポートを送信してください。
ドキュメント
メインのドキュメントページは、Cloudflare Pages を利用した https://bottom.pages.dev です。必要に応じて、Github Pages でホストされているミラー https://clementtsang.github.io/bottom も利用できます。
貢献
バグの報告、機能の提案、パッケージのメンテナンス、PR の提出など、どのような形での貢献も歓迎します!bottom への貢献方法の詳細については、CONTRIBUTING.mdをお読みください。
貢献者
すべての貢献者に感謝します。
-
このアプリケーションは、多くの 数多くの ライブラリに加え、多くのサービスやプログラムを使って開発されており、そのすべてが多くの才能ある人々の成果の上に成り立っています。これらすべてがなければ、bottom は存在しなかったでしょう。
-
そしてもちろん、すべてのコントリビューターとパッケージメンテナーに改めて感謝します!
-
bottom を使ってくださった皆さん、そしてわざわざバグを報告したり、改善案を提案したりしてくださった皆さんにも、心から感謝します。皆さんのお役に立てるツールになっていれば幸いです。
-
寄付を通じて私の活動を金銭的に支援してくださっている皆さん、本当にありがとうございます。
-
JetBrains には、オープンソース支援プログラムの一環として、bottom の開発に使用するツールを提供していただき、感謝しています。
-
また、無料のコード署名サービスを提供してくださったSignPath.ioと、証明書を提供してくださった SignPath Foundationにも感謝します。