LinuxCommandLibrary

btm

Monitor system resources (performance)

TLDR

Show the default layout (CPU, memory, temperatures, disk, network, and processes)

$ btm
copy

Enable basic mode, removing charts and condensing data (similar to top)
$ btm --basic
copy

Use big dots instead of small ones in charts
$ btm --dot_marker
copy

Show also battery charge and health status
$ btm --battery
copy

Refresh every 250 milliseconds and show the last 30 seconds in the charts
$ btm --rate 250 --default_time_value 30000
copy

SYNOPSIS

btm [OPTIONS]

PARAMETERS

--cpu_mode
    Sets the CPU usage display mode (e.g., avg, all, one).

--mem_mode
    Sets the memory usage display mode (e.g., basic, advanced).

--disk_mode
    Sets the disk I/O display mode (e.g., all, summary).

--net_mode
    Sets the network I/O display mode (e.g., all, summary).

--process_mode
    Sets the process display mode (e.g., tree, full).

--group_by
    Groups processes by a specific field (e.g., comm, pid, user).

--color
    Sets the color theme (e.g., default, gruvbox, nord).

--config
    Specifies a custom configuration file path.

--disable_basic_mode
    Starts with a more detailed mode for widgets, overriding default basic views.

--hide_table_headers
    Hides column headers in tables for a more compact view.

--battery
    Shows battery information (if available).

--temp_type
    Sets the temperature display unit (e.g., celsius, fahrenheit).

--rate
    Sets the refresh rate in milliseconds (e.g., 1000 for 1 second).

DESCRIPTION

btm, commonly known as bottom, is a powerful and interactive command-line system monitor written in Rust, offering a modern alternative to traditional tools like top or htop. It provides a comprehensive real-time overview of your system's resources, including CPU, memory, disk I/O, network activity, and active processes.

Users can navigate through various panels, sort processes, and even kill them directly from the interface. bottom emphasizes user-friendliness with customizable layouts, color themes, and a responsive interface that adapts to different terminal sizes. Its cross-platform nature allows it to run on Linux, macOS, and Windows, making it a versatile tool for system administrators and developers alike. The highly configurable display allows users to tailor the information presented, focusing on specific metrics or processes as needed. bottom's interactive nature makes it an excellent tool for troubleshooting performance issues or simply keeping an eye on system health.

CAVEATS

btm relies on system-specific information sources, which might vary slightly across different Linux distributions or kernel versions, potentially leading to minor inconsistencies in reported data.

While generally efficient, very high refresh rates or monitoring an extremely large number of processes on older hardware might incur a slight performance overhead. Some features, like process killing, require appropriate user permissions. Configuration is primarily via a TOML file, which might be less intuitive for new users compared to command-line flags.

CONFIGURATION FILE

btm supports a highly customizable configuration file, typically located at ~/.config/bottom/bottom.toml (or ~/.config/btm/btm.toml). This file allows users to define default layouts, widgets, colors, keybindings, and more, offering a persistent way to tailor the btm experience beyond command-line arguments.

KEYBINDINGS

btm is highly interactive and navigable using keyboard shortcuts. Users can sort columns, filter processes, change widget focus, expand/collapse sections, and even search for processes directly within the application, enhancing its usability without requiring mouse interaction. Pressing '?' inside btm will display a list of available keybindings.

HISTORY

bottom was created by Clement Tsang and first released in 2020. It was developed with the Rust programming language, focusing on performance, safety, and a modern, interactive user experience. Its creation aimed to address some of the limitations and less intuitive aspects of older system monitoring tools, offering a more visually appealing and customizable interface. Since its initial release, bottom has gained significant popularity within the Linux community due to its active development, cross-platform compatibility, and feature-rich design. It continues to be regularly updated with new features and performance improvements.

SEE ALSO

top(1), htop(1), glances(1), nmon(1), ps(1)

Copied to clipboard