開発やサーバー管理において、システムリソースの使用状況をリアルタイムで監視するのは不可欠な作業です。htop や top は定番のシステム監視ツールですが、今回ご紹介するのはよりモダンな替代品 —— Bottom (btm) です。
Bottom とは?
Bottom(コマンドラインでは btm)は、Rust で書かれたクロスプラットフォームのグラフィカルなシステム/プロセスモニターです。Linux、macOS、Windows に対応しており、gtop、gotop、htop にインスパイアされていますが、より豊富な機能と美しいインターフェースを提供しています。
主な特徴
- 🦀 Rust で書かれている - メモリ安全、高性能、低リソース消費
- 🖥️ クロスプラットフォーム対応 - Linux、macOS、Windows をフルカバー
- 📊 可視化チャート - CPU、メモリ、ネットワーク使用率のリアルタイムグラフ
- 🎨 高いカスタマイズ性 - レイアウト、カラー、フィルターを自由に設定可能
- ⌨️ 直感的なショートカット - vim ライクなキーボード操作で学習コストが低い
- 🔍 強力な検索 - プロセスを素早くフィルタリング・特定
- 📈 履歴データ - リソース使用の履歴トレンドを確認可能
インストール方法
Linux システム
パッケージマネージャーでインストール:
# Ubuntu/Debian
sudo apt install bottom
# Fedora/RHEL
sudo dnf install bottom
# Arch Linux
sudo pacman -S bottom
# openSUSE
sudo zypper install bottom
Cargo でインストール(最新バージョン推奨):
cargo install bottom
コンパイル済みバイナリを使用:
# 最新バージョンをダウンロード
wget https://github.com/ClementTsang/bottom/releases/latest/download/bottom_x86_64-unknown-linux-gnu.tar.gz
tar -xzf bottom_x86_64-unknown-linux-gnu.tar.gz
sudo mv btm /usr/local/bin/
macOS システム
# Homebrew を使用
brew install bottom
# または MacPorts を使用
sudo port install bottom
Windows システム
# Chocolatey を使用
choco install bottom
# または Scoop を使用
scoop install bottom
# または winget を使用
winget install ClementTsang.bottom
クイックスタート
基本的な使い方
インストール完了後、ターミナルで直接実行するだけ:
btm
これで完全なシステム監視画面が表示されます。
よく使うショートカットキー
Bottom は vim ライクなキーボード操作を採用しています:
| ショートカット | 機能 |
|---|---|
? または h |
ヘルプメニューを開く |
q |
プログラムを終了 |
g |
一番上に移動 |
G |
一番下に移動 |
/ |
プロセスを検索 |
dd |
選択したプロセスを終了 |
Tab |
異なるウィンドウ間を切り替え |
マウスクリック |
ウィンドウを直接選択 |
コマンドライン引数
# リフレッシュ間隔を指定(ミリ秒)
btm --rate 2000
# デフォルトで CPU ウィンドウを表示
btm --default_widget_type cpu
# バッテリー情報を非表示
btm --hide_avg_cpu
# カスタム設定ファイルを使用
btm --config /path/to/config.toml
# 完全なヘルプを表示
btm --help
カスタム設定
Bottom は設定ファイルによる深いカスタマイズをサポートしています。設定ファイルの場所:
# Linux/macOS
~/.config/bottom/bottom.toml
# Windows
%APPDATA%\bottom\bottom.toml
設定例
# リフレッシュ間隔(ミリ秒)
rate = 2000
# デフォルトウィジェットレイアウト
[[row]]
[[row.widget]]
type = "cpu"
[[row.widget]]
type = "memory"
[[row]]
[[row.widget]]
type = "network"
[[row.widget]]
type = "process"
# カラーテーマ
[colors]
table_header_color = "#00d7ff"
cpu_core_colors = ["#ff5555", "#50fa7b", "#f1fa8c"]
# プロセスフィルター
[flags]
hide_kernel_threads = true
show_cpu_cores = true
htop との比較
| 特徴 | Bottom (btm) | htop |
|---|---|---|
| プログラミング言語 | Rust | C |
| クロスプラットフォーム | ✅ Linux/macOS/Windows | ⚠️ 主に Linux/Unix |
| 可視化チャート | ✅ 内蔵 | ❌ 追加設定が必要 |
| 履歴データ | ✅ サポート | ❌ リアルタイムのみ |
| 設定の柔軟性 | ✅ TOML 設定 | ⚠️ 制限あり |
| リソース消費 | 低い | 低い |
| コミュニティの活発さ | 🔥 急成長中 | 安定 |
実践的な使用シーン
1. サーバーパフォーマンスの監視
リモートサーバーで btm を実行すると、次のことを直感的に確認できます: - 各 CPU コアの負荷分散 - メモリ使用状況とスワップ領域 - ネットワークインターフェースのリアルタイムトラフィック - ディスク I/O の読み書き速度
2. 開発環境のデバッグ
リソース集約型アプリケーションを実行する際に、btm を使って素早く特定できます: - どのプロセスが最も CPU を使用しているか - メモリリークが疑われるプロセス - ネットワーク接続の異常
3. システム最適化の分析
履歴データチャートを通じて分析できます: - システムリソース使用のピーク時間帯 - 長期的なリソーストレンド - 最適化対策の効果検証
上級テクニック
カスタムウィジェットレイアウト
Bottom ではインターフェースレイアウトを完全にカスタマイズでき、自分のワークフローに最適な監視パネルを作成できます:
# CPU とプロセスに特化したレイアウト
[[row]]
[[row.widget]]
type = "cpu"
ratio = 2
[[row.widget]]
type = "process"
ratio = 3
プロセスのフィルタリングと検索
/ キーで検索ボックスを開き、正規表現をサポートしています:
# 特定のプロセスを検索
python
# 正規表現を使用
^node.*
# 特定のユーザーでフィルタリング
user:kevin
特定の CPU コアを監視
# 指定した CPU コアのみ表示
btm --cpu_core 0 --cpu_core 1
まとめ
Bottom (btm) はモダンなシステム監視ツールとして、Rust によるパフォーマンス優位性、クロスプラットフォーム対応、豊富な可視化機能、そして高いカスタマイズ性により、htop の有力な替代品として注目されています。
システム管理者、DevOps エンジニア、一般の開発者を問わず、btm は直感的で効率的なシステムリソース監視体験を提供してくれます。さらに、完全にオープンソースで無料、コミュニティが活発で、継続的に更新されています。
今すぐ試す: GitHub リポジトリ にアクセスして、モダンなシステム監視の旅を始めましょう!
参考リンク: