btm1
A customizable cross-platform graphical process/system monitor for the terminal. supports linux, macos, and windows.
Usage
btm [OPTIONS]
Overview
A customizable cross-platform graphical process/system monitor for the terminal. Supports Linux, macOS, and Windows.
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.
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.
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.
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.
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.
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.
Options
-
--disk_use_binary_prefix -
Displays the disk widget with binary prefixes (e.g. GiB, MiB) instead of decimal prefixes (e.g. GB, MB).
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.
Options
-
--disable_gpu -
Disable collecting and displaying NVIDIA and AMD GPU information.
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)
Options
-
-h, --help -
Prints help info (for more details use '--help').
-
-V, --version -
Prints version information.
Version
v0.15.0
Releases
2 releases since Debian 13 (Trixie); the text changed 1 time.
--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).