Reference

btm(1)

A customizable cross-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows.

NAME

btm - A customizable cross-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows.

SYNOPSIS

btm [OPTIONS]

DESCRIPTION

A customizable cross-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows.

GENERAL OPTIONS

--autohide_time

Automatically hides the time scale in graphs after being shown for a brief moment when zoomed in/out. If time is disabled using --hide_time then this will have no effect.

-b, --basic

Hides graphs and uses a more basic look, largely inspired by htop's design.

-C, --config_location <PATH>

Sets the location of the config file. Expects a config file in the TOML format. If it doesn't exist, a default config file is created at the path. If no path is provided, the default config location will be used.

-t, --default_time_value <TIME>

Default time value for graphs. Either a number in milliseconds or a 'human duration' (e.g. 60s, 10m). Defaults to 60s, must be at least 30s.

--default_widget_count <N>

Sets the N'th selected widget type to use as the default widget. Requires 'default_widget_type' to also be set, and defaults to 1.

This reads from left to right, top to bottom. For example, suppose we have a layout that looks like: +-------------------+-----------------------+ | CPU (1) | CPU (2) | +---------+---------+-------------+---------+ | Process | CPU (3) | Temperature | CPU (4) | +---------+---------+-------------+---------+

And we set our default widget type to 'CPU'. If we set '--default_widget_count 1', then it would use the CPU (1) as the default widget. If we set '--default_widget_count 3', it would use CPU (3) as the default instead.

--default_widget_type <WIDGET>

Sets which widget type to use as the default widget. For the default layout, this defaults to the 'process' widget. For a custom layout, it defaults to the first widget it sees.

For example, suppose we have a layout that looks like: +-------------------+-----------------------+ | CPU (1) | CPU (2) | +---------+---------+-------------+---------+ | Process | CPU (3) | Temperature | CPU (4) | +---------+---------+-------------+---------+

Then, setting '--default_widget_type temperature' will make the temperature widget selected by default.

Possible values:

•

cpu

•

mem

•

net

•

network

•

proc

•

process

•

processes

•

temp

•

temperature

•

disk

•

batt

•

battery

--disable_click

Disables mouse clicks from interacting with bottom.

--disable_keys

Disables keyboard shortcuts from interacting with bottom. Note this includes keyboard shortcuts to quit bottom.

-m, --dot_marker

Uses a dot marker for graphs as opposed to the default braille marker.

-e, --expanded

Expand the default widget upon starting the app. This flag has no effect in basic mode (--basic).

--hide_time

Hides the time scale from being shown.

-r, --rate <TIME>

Sets how often data is refreshed. Either a number in milliseconds or a 'human duration' (e.g. 1s, 1m). Defaults to 1s, must be at least 250ms. Smaller values may result in higher system resource usage.

--retention <TIME>

How far back data will be stored up to. Either a number in milliseconds or a 'human duration' (e.g. 10m, 1h). Defaults to 10 minutes, and must be at least 1 minute. Larger values may result in higher memory usage.

--show_table_scroll_position

Shows the list scroll position tracker in the widget title for table widgets.

-d, --time_delta <TIME>

The amount of time changed when zooming in/out. Takes a number in milliseconds or a human duration (e.g. 30s). The minimum is 1s, and defaults to 15s.

PROCESS OPTIONS

-S, --case_sensitive

Enables case sensitivity by default when searching for a process.

-u, --current_usage

Calculates process CPU usage as a percentage of current usage rather than total usage.

--disable_advanced_kill

Hides additional stopping options on Unix-like systems. Signal 15 (TERM) will be sent when stopping a process.

--read_only

Prevents performing any actions that affect the system. Disables operations such as stopping or sending signals to processes.

--hide_k_threads

Hide kernel threads.

--get_threads

Also gather process thread information.

--process_default_sort <COLUMN>

Sets the default sort column for the process widget. Accepts any of the valid process column names (e.g. "cpu%", "mem", "pid", "name"). Overrides the [processes] default_sort setting in the config file.

-g, --group_processes

Groups processes with the same name by default when searching. Doesn't do anything if --tree is also set, or tree=true in the config.

--process_memory_as_value

Defaults to showing process memory usage by value. Otherwise, it defaults to showing it by percentage.

--process_command

Shows the full command name instead of the process name by default.

-R, --regex

Enables regex by default while searching.

-T, --tree

Makes the process widget use tree mode by default.

--tree_collapse

Collapse process tree by default.

-n, --unnormalized_cpu

Show process CPU% usage without averaging over the number of CPU cores.

-W, --whole_word

Enables whole-word matching by default while searching.

TEMPERATURE OPTIONS

-c, --celsius

Use Celsius as the temperature unit. This is the default option.

-f, --fahrenheit

Use Fahrenheit as the temperature unit.

-k, --kelvin

Use Kelvin as the temperature unit.

CPU OPTIONS

-l, --cpu_left_legend

Puts the CPU chart legend on the left side.

--default_cpu_entry <ENTRY>

Sets which CPU entry type is selected by default.

Possible values:

•

all

•

avg

-a, --hide_avg_cpu

Hides the average CPU usage entry.

MEMORY OPTIONS

--memory_legend <POSITION>

Where to place the legend for the memory chart widget.

Possible values:

•

none

•

top-left

•

top

•

top-right

•

left

•

right

•

bottom-left

•

bottom

•

bottom-right

--enable_cache_memory

Enables collecting and displaying cache and buffer memory.

--free_arc

Subtract reclaimable ARC from memory.

--short_gpu_names

Use short GPU names (e.g. 'GPU' or 'GPU0', 'GPU1') in the memory widget instead of full GPU names.

NETWORK OPTIONS

--network_legend <POSITION>

Where to place the legend for the network chart widget.

Possible values:

•

none

•

top-left

•

top

•

top-right

•

left

•

right

•

bottom-left

•

bottom

•

bottom-right

--network_use_bytes

Displays the network widget using bytes. Defaults to bits.

--network_use_binary_prefix

Displays the network widget binary prefixes (e.g. GiB, MiB) instead of decimal prefixes (e.g. GB, MB).

--network_use_log

Displays the network widget with a log scale. Defaults to a non-log scale.

--use_old_network_legend

(DEPRECATED) Uses separate network widget legend. This display is not tested and may be broken.

--show_packets

Displays packets information including packet rate (packets per second) and average packet size in the network widget.

--network_start_zeroed

Zeroes out the total network usage ("All") counters so it shows the total usage since the app is started, rather than the total usage since boot.

DISK OPTIONS

--disk_use_binary_prefix

Displays the disk widget with binary prefixes (e.g. GiB, MiB) instead of decimal prefixes (e.g. GB, MB).

BATTERY OPTIONS

--battery

Shows the battery widget in default or basic mode, if there is as battery available. This has no effect on custom layouts; if the battery widget is desired for a custom layout, explicitly specify it.

GPU OPTIONS

--disable_gpu

Disable collecting and displaying NVIDIA and AMD GPU information.

STYLE OPTIONS

--theme <SCHEME>

Use a pre-defined colour theme. Currently supported themes are: - default - default-light (default but adjusted for lighter backgrounds) - gruvbox (a bright theme with 'retro groove' colours) - gruvbox-light (gruvbox but adjusted for lighter backgrounds) - nord (an arctic, north-bluish colour palette) - nord-light (nord but adjusted for lighter backgrounds)

OTHER OPTIONS

-h, --help

Prints help info (for more details use '--help').

-V, --version

Prints version information.

VERSION

v0.15.0

AUTHORS

Clement Tsang <[email protected]>

History

--disable_keys since Arch Linux 2026-11-01; --disk_use_binary_prefix since Arch Linux 2026-11-01; --free_arc since Arch Linux 2026-11-01; --get_threads since Arch Linux 2026-11-01; --hide_k_threads since Arch Linux 2026-11-01; --network_start_zeroed since Arch Linux 2026-11-01; --process_default_sort since Arch Linux 2026-11-01; --read_only since Arch Linux 2026-11-01; --short_gpu_names since Arch Linux 2026-11-01; --show_packets since Arch Linux 2026-11-01; --tree_collapse since Arch Linux 2026-11-01.

--hide_table_gap until Debian 13 (Trixie).