開発やサーバー管理において、システムリソースの使用状況をリアルタイムで監視するのは不可欠な作業です。htop や top は定番のシステム監視ツールですが、今回ご紹介するのはよりモダンな替代品 —— Bottom (btm) です。

Bottom とは?

Bottom(コマンドラインでは btm)は、Rust で書かれたクロスプラットフォームのグラフィカルなシステム/プロセスモニターです。Linux、macOS、Windows に対応しており、gtop、gotop、htop にインスパイアされていますが、より豊富な機能と美しいインターフェースを提供しています。

主な特徴

  • 🦀 Rust で書かれている - メモリ安全、高性能、低リソース消費
  • 🖥️ クロスプラットフォーム対応 - Linux、macOS、Windows をフルカバー
  • 📊 可視化チャート - CPU、メモリ、ネットワーク使用率のリアルタイムグラフ
  • 🎨 高いカスタマイズ性 - レイアウト、カラー、フィルターを自由に設定可能
  • ⌨️ 直感的なショートカット - vim ライクなキーボード操作で学習コストが低い
  • 🔍 強力な検索 - プロセスを素早くフィルタリング・特定
  • 📈 履歴データ - リソース使用の履歴トレンドを確認可能

インストール方法

Linux システム

パッケージマネージャーでインストール:

BASH
# Ubuntu/Debian
sudo apt install bottom

# Fedora/RHEL
sudo dnf install bottom

# Arch Linux
sudo pacman -S bottom

# openSUSE
sudo zypper install bottom

Cargo でインストール(最新バージョン推奨):

BASH
cargo install bottom

コンパイル済みバイナリを使用:

BASH
# 最新バージョンをダウンロード
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 システム

BASH
# Homebrew を使用
brew install bottom

# または MacPorts を使用
sudo port install bottom

Windows システム

POWERSHELL
# Chocolatey を使用
choco install bottom

# または Scoop を使用
scoop install bottom

# または winget を使用
winget install ClementTsang.bottom

クイックスタート

基本的な使い方

インストール完了後、ターミナルで直接実行するだけ:

BASH
btm

これで完全なシステム監視画面が表示されます。

よく使うショートカットキー

Bottom は vim ライクなキーボード操作を採用しています:

ショートカット 機能
? または h ヘルプメニューを開く
q プログラムを終了
g 一番上に移動
G 一番下に移動
/ プロセスを検索
dd 選択したプロセスを終了
Tab 異なるウィンドウ間を切り替え
マウスクリック ウィンドウを直接選択

コマンドライン引数

BASH
# リフレッシュ間隔を指定(ミリ秒)
btm --rate 2000

# デフォルトで CPU ウィンドウを表示
btm --default_widget_type cpu

# バッテリー情報を非表示
btm --hide_avg_cpu

# カスタム設定ファイルを使用
btm --config /path/to/config.toml

# 完全なヘルプを表示
btm --help

カスタム設定

Bottom は設定ファイルによる深いカスタマイズをサポートしています。設定ファイルの場所:

BASH
# Linux/macOS
~/.config/bottom/bottom.toml

# Windows
%APPDATA%\bottom\bottom.toml

設定例

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 ではインターフェースレイアウトを完全にカスタマイズでき、自分のワークフローに最適な監視パネルを作成できます:

TOML
# CPU とプロセスに特化したレイアウト
[[row]]
  [[row.widget]]
    type = "cpu"
    ratio = 2
  [[row.widget]]
    type = "process"
    ratio = 3

プロセスのフィルタリングと検索

/ キーで検索ボックスを開き、正規表現をサポートしています:

# 特定のプロセスを検索
python

# 正規表現を使用
^node.*

# 特定のユーザーでフィルタリング
user:kevin

特定の CPU コアを監視

BASH
# 指定した CPU コアのみ表示
btm --cpu_core 0 --cpu_core 1

まとめ

Bottom (btm) はモダンなシステム監視ツールとして、Rust によるパフォーマンス優位性、クロスプラットフォーム対応、豊富な可視化機能、そして高いカスタマイズ性により、htop の有力な替代品として注目されています。

システム管理者、DevOps エンジニア、一般の開発者を問わず、btm は直感的で効率的なシステムリソース監視体験を提供してくれます。さらに、完全にオープンソースで無料、コミュニティが活発で、継続的に更新されています。

今すぐ試す: GitHub リポジトリ にアクセスして、モダンなシステム監視の旅を始めましょう!


参考リンク: