A tmux plugin for monitoring resource usage (CPU and memory) of the children processes of your tmux sessions grouped by window with an interactive curses-based interface.
You may have access to a full list of processes on htop, but how often do you have to look for the right instance of the server to restart?
How often are you trying to understand which process belongs to what within the context of your project?
Have you ever wondered which instance of tsserver/rust-analyzer to kill to get half your RAM back?
- 📊 Real-time resource monitoring (CPU and memory)
- 🔄 Process tree visualization with parent/child relationships grouped by windows and filtered by current tmux session
- 🖱️ Interactive process browsing for yanking PID or commands
- ⚡ Kill processes or send custom signals
With this plugin you can
- have a clear view of what resource/process are being used by the current tmux-session
- easily kill specific processes (press
x) - or send any signal with
sfollowed by the SIGTERM your want to send - yank commands or PID for interactive troubleshooting with
yandYrespectively - easily switch between windows with
h/lor←/→ - or horizontal scroll long process commands with
Alt+h/Alt+lorAlt+←/Alt+→
But you can also monitor your entire tmux session manager instance with the overview mode:
- list all of the tmux sessions and their resource usage
- compare your your global tmux resource usage across sessions relative to the system resource usage
- jump into a specific session's detail with
j/kandenter
-
Install TPM if not already installed:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm -
Add the plugin to your
~/.tmux.conf:set -g @plugin 'YlanAllouche/tmux-task-monitor'
-
Reload tmux and install plugins by pressing:
prefix + I(capital i) inside tmux- OR run:
~/.tmux/plugins/tpm/bin/install_plugins.sh
Add these options to your ~/.tmux.conf before or after loading the plugin:
# Refresh rate in seconds (default: 2.0)
set -g @tmux_resource_monitor_refresh_rate "2.0"
# Popup width (default: 80%)
set -g @tmux_resource_monitor_width "80%"
# Popup height (default: 80%)
set -g @tmux_resource_monitor_height "40%"
# Monitor key binding (default: t)
set -g @tmux_resource_monitor_key "t"
# Overview key binding (default: T)
set -g @tmux_resource_monitor_overview_key "T"
# Python interpreter path (default: python3)
# Use this to specify a Python interpreter from a virtualenv or custom location
set -g @tmux_resource_monitor_python "/path/to/python"Once installed, press (prefix+) t (default) to open the resource monitor popup, or T (default) for overview mode.
t- Open monitor popuph/lor←/→- Navigate between windowsj/kor↑/↓- Navigate up/down through processes
x- Send SIGTERM (15) to selected processs- Enter signal number to send custom signaly- Copy process command to clipboardY- Copy process PID to clipboard
Alt+h/Alt+lorAlt+←/Alt+→- Scroll long command lines?- Show help screenqorQ- Quit monitor
- Python 3.6 or higher
psutilPython library- tmux 3.0 or higher
- TPM (optional, for automatic installation)
pip install psutilOr using your system package manager:
sudo pacman -S python-psutilThe plugin supports clipboard operations on Wayland and X11:
- Wayland: Uses
wl-copy - X11: Falls back to
xcliporxsel
Ensure one of these tools is installed for clipboard functionality to work.
MIT
Contributions are welcome! Please feel free to submit issues or pull requests.

