Enables displaying CPU and GPU information in Tmux status-right
and status-left
.
Configurable percentage and icon display.
Installation with Tmux Plugin Manager (recommended)
Add plugin to the list of TPM plugins in .tmux.conf
:
set -g @plugin 'tmux-plugins/tmux-cpu'
Hit prefix + I
to fetch the plugin and source it.
If format strings are added to status-right
, they should now be visible.
Clone the repo:
$ git clone https://github.com/tmux-plugins/tmux-cpu ~/clone/path
Add this line to the bottom of .tmux.conf
:
run-shell ~/clone/path/cpu.tmux
Reload TMUX environment:
# type this in terminal
$ tmux source-file ~/.tmux.conf
If format strings are added to status-right
, they should now be visible.
iostat
or sar
are the best way to get an accurate CPU percentage.
A fallback is included using ps -aux
but could be inaccurate.
free
is used for obtaining system RAM status.
nvidia-smi
is required for GPU information.
For OSX, cuda-smi
is required instead (but only shows GPU memory use rather
than load).
If 'No GPU' is displayed, it means the script was not able to find nvidia-smi
/cuda-smi
.
Please make sure the appropriate command is installed and in PATH.
Add any of the supported format strings (see below) to the existing status-right
tmux option.
Example:
# in .tmux.conf
set -g status-right '#{cpu_bg_color} CPU: #{cpu_icon} #{cpu_percentage} | %a %h-%d %H:%M '
This is done by introducing 8 new format strings that can be added to
status-right
option:
#{cpu_icon}
- will display a CPU status icon#{cpu_percentage}
- will show CPU percentage (averaged across cores)#{cpu_bg_color}
- will change the background color based on the CPU percentage#{cpu_fg_color}
- will change the foreground color based on the CPU percentage#{ram_icon}
- will display a RAM status icon#{ram_percentage}
- will show RAM percentage (averaged across cores)#{ram_bg_color}
- will change the background color based on the RAM percentage#{ram_fg_color}
- will change the foreground color based on the RAM percentage
GPU equivalents also exist:
#{gpu_icon}
- will display a GPU status icon#{gpu_percentage}
- will show GPU percentage (averaged across devices)#{gpu_bg_color}
- will change the background color based on the GPU percentage#{gpu_fg_color}
- will change the foreground color based on the GPU percentage#{gram_icon}
- will display a GPU RAM status icon#{gram_percentage}
- will show GPU RAM percentage (total across devices)#{gram_bg_color}
- will change the background color based on the GPU RAM percentage#{gram_fg_color}
- will change the foreground color based on the GPU RAM percentage
CPU usage between 30% and 80%:
Here are all available options with their default values:
@cpu_low_icon "=" # icon when cpu is low
@cpu_medium_icon "≡" # icon when cpu is medium
@cpu_high_icon "≣" # icon when cpu is high
@cpu_low_fg_color "" # foreground color when cpu is low
@cpu_medium_fg_color "" # foreground color when cpu is medium
@cpu_high_fg_color "" # foreground color when cpu is high
@cpu_low_bg_color "#[bg=green]" # background color when cpu is low
@cpu_medium_bg_color "#[bg=yellow]" # background color when cpu is medium
@cpu_high_bg_color "#[bg=red]" # background color when cpu is high
@cpu_percentage_format "%3.1f%%" # printf format to use to display percentage
Same options are valid with @gpu
Note that these colors depend on your terminal / X11 config.
You can can customize each one of these options in your .tmux.conf
, for example:
set -g @cpu_low_fg_color "#[fg=#00ff00]"
set -g @cpu_percentage_format "%5.1f%%" # Add left padding
Don't forget to reload tmux environment ($ tmux source-file ~/.tmux.conf
)
after you do this.
This plugin is part of the tmux-plugins organisation. Checkout plugins as battery, logging, online status, and many more over at the tmux-plugins organisation page.