From 2927888a1b37227f419a2574925ec9263bfb997d Mon Sep 17 00:00:00 2001 From: energizerbee Date: Thu, 10 Aug 2023 22:12:20 -0700 Subject: [PATCH] Added usage, and temperature monitoring, gave GPU its own box and the option to disable GPUtil --- Imgs/gpu.png | Bin 0 -> 175287 bytes README.md | 34 ++++++ bashtop | 235 +++++++++++++++++++++++++++++++++++------- requirements.txt | 1 + src/bashtop.psutil.py | 44 ++++++-- 5 files changed, 272 insertions(+), 42 deletions(-) create mode 100644 Imgs/gpu.png diff --git a/Imgs/gpu.png b/Imgs/gpu.png new file mode 100644 index 0000000000000000000000000000000000000000..107bd320c8e2708a0b062a75007df63d357b21ea GIT binary patch literal 175287 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 nvidia-smi (Debian/Ubuntu based see installation section for other distros) + +``` bash +sudo apt-get install nvidia-smi +``` + +>Install psutil and GPUtil if not already installed + +``` bash +sudo python3 -m pip install psutil +``` + +``` bash +sudo python3 -m pip install GPUtil +``` + +#### Note + +Be sure to turn on use psutil and use GPUtil in the options menu of Bashtop. + ## Description Resource monitor that shows usage and stats for processor, memory, disks, network and processes. diff --git a/bashtop b/bashtop index 26792ee..410519f 100755 --- a/bashtop +++ b/bashtop @@ -207,8 +207,8 @@ menu_quit_selected=( "╚═╝╚╚═╝ ╩ ╩ ") declare -A cpu mem gpu swap proc net box theme disks -declare -a cpu_usage cpu_graph_a cpu_graph_b color_meter color_temp_graph color_cpu color_cpu_graph cpu_history color_mem_graph color_swap_graph -declare -a mem_history swap_history net_history_download net_history_upload mem_graph gpu_graph swap_graph proc_array download_graph upload_graph trace_array +declare -a cpu_usage gpu_usage cpu_graph_a cpu_graph_b gpu_graph_a gpu_graph_b color_meter color_temp_graph color_cpu color_cpu_graph cpu_history color_gpu_graph color_mem_graph color_swap_graph +declare -a mem_history swap_history gpu_history net_history_download net_history_upload mem_graph gpu_graph swap_graph proc_array download_graph upload_graph trace_array declare resized=1 size_error clock tty_width tty_height hex="16#" cpu_p_box swap_on=1 draw_out esc_character boxes_out last_screen clock_out update_string declare -a options_array=("color_theme" "update_ms" "use_psutil" "use_GPUtil" "proc_sorting" "proc_tree" "check_temp" "draw_clock" "background_update" "custom_cpu_name" "proc_per_core" "proc_reversed" "proc_gradient" "disks_filter" "hires_graphs" "net_totals_reset" "update_check" "error_logging") @@ -255,7 +255,8 @@ declare -A graph_symbol_down='( [4_0]=⡇ [4_1]=⡏ [4_2]=⡟ [4_3]=⡿ [4_4]=⣿ )' declare -A graph -box[boxes]="cpu mem net processes" + +box[boxes]="cpu mem net processes gpu" cpu[threads]=0 @@ -356,6 +357,10 @@ init_() { #? Collect needed information and set options before startig main loop print -m $(( (tty_height/2-3)+stx++ )) 0 -bg "#00" -fg "#cc" -c -b "Checking cpu..." get_cpu_info + print -bg "#00" -fg "#30ff50" -r 1 -t "√" + print -m $(( (tty_height/2-3)+stx++ )) 0 -bg "#00" -fg "#cc" -c -b "Checking gpu..." + get_gpu_info + #* Set graph resolution graph[hires]="${hires_graphs}" @@ -480,16 +485,16 @@ init_() { #? Collect needed information and set options before startig main loop } color_init_() { #? Check for theme file and set colors - local main_bg="" main_fg="#cc" title="#ee" hi_fg="#90" inactive_fg="#40" cpu_box="#3d7b46" mem_box="#8a882e" net_box="#423ba5" proc_box="#923535" proc_misc="#0de756" selected_bg="#7e2626" selected_fg="#ee" - local temp_start="#4897d4" temp_mid="#5474e8" temp_end="#ff40b6" cpu_start="#50f095" cpu_mid="#f2e266" cpu_end="#fa1e1e" div_line="#30" + local main_bg="" main_fg="#cc" title="#ee" hi_fg="#90" inactive_fg="#40" cpu_box="#3d7b46" mem_box="#8a882e" gpu_box="#1433a6" net_box="#423ba5" proc_box="#923535" proc_misc="#0de756" selected_bg="#7e2626" selected_fg="#ee" + local temp_start="#4897d4" temp_mid="#5474e8" temp_end="#ff40b6" cpu_start="#50f095" cpu_mid="#f2e266" cpu_end="#fa1e1e" div_line="#30" gpu_start='#00aeff' gpu_mid='#0037ff' gpu_end='#fa1e1e' local free_start="#223014" free_mid="#b5e685" free_end="#dcff85" cached_start="#0b1a29" cached_mid="#74e6fc" cached_end="#26c5ff" available_start="#292107" available_mid="#ffd77a" available_end="#ffb814" local used_start="#3b1f1c" used_mid="#d9626d" used_end="#ff4769" download_start="#231a63" download_mid="#4f43a3" download_end="#b0a9de" upload_start="#510554" upload_mid="#7d4180" upload_end="#dcafde" local hex2rgb color_name array_name this_color main_fg_dec sourced theme_unset local -i i y local -A rgb local -a dec_test - local -a convert_color=("main_bg" "temp_start" "temp_mid" "temp_end" "cpu_start" "cpu_mid" "cpu_end" "upload_start" "upload_mid" "upload_end" "download_start" "download_mid" "download_end" "used_start" "used_mid" "used_end" "available_start" "available_mid" "available_end" "cached_start" "cached_mid" "cached_end" "free_start" "free_mid" "free_end" "proc_misc" "main_fg_dec") - local -a set_color=("main_fg" "title" "hi_fg" "div_line" "inactive_fg" "selected_fg" "selected_bg" "cpu_box" "mem_box" "net_box" "proc_box") + local -a convert_color=("main_bg" "temp_start" "temp_mid" "temp_end" "cpu_start" "cpu_mid" "cpu_end" "gpu_start" "gpu_mid" "gpu_end" "upload_start" "upload_mid" "upload_end" "download_start" "download_mid" "download_end" "used_start" "used_mid" "used_end" "available_start" "available_mid" "available_end" "cached_start" "cached_mid" "cached_end" "free_start" "free_mid" "free_end" "proc_misc" "main_fg_dec") + local -a set_color=("main_fg" "title" "hi_fg" "div_line" "inactive_fg" "selected_fg" "selected_bg" "cpu_box" "mem_box" "gpu_box" "net_box" "proc_box") for theme_unset in ${!theme[@]}; do unset 'theme[${theme_unset}]' @@ -535,11 +540,12 @@ color_init_() { #? Check for theme file and set colors box[cpu_color]="${theme[cpu_box]}" box[mem_color]="${theme[mem_box]}" + box[gpu_color]="${theme[gpu_box]}" box[net_color]="${theme[net_box]}" box[processes_color]="${theme[proc_box]}" #* Create color arrays from one, two or three color gradient, 100 values in each - for array_name in "temp" "cpu" "upload" "download" "used" "available" "cached" "free"; do + for array_name in "temp" "cpu" "gpu" "upload" "download" "used" "available" "cached" "free"; do local -n color_array="color_${array_name}_graph" local -a rgb_start=(${theme[${array_name}_start]}) rgb_mid=(${theme[${array_name}_mid]}) rgb_end=(${theme[${array_name}_end]}) local pf_calc middle=1 @@ -910,6 +916,13 @@ get_cpu_info() { fi } +get_gpu_info(){ + if [[ $use_GPUtil == true ]]; then + py_command -v gpu[model] "get_gpu_name()" + py_command -v gpu[driver] "get_gpu_driver()" + fi +} + get_value() { #? Get a value from a file, variable or array by searching for a non spaced "key name" on the same line local match line_pos=1 int reg key all tmp_array input found input_line line_array line_val ext_var line_nr current_line match_key math removing ext_arr local -a remove @@ -1703,7 +1716,6 @@ create_graph_hires() { #? Create a graph from an array of percentage values, us output_array=("${graph_array[@]}") } - create_mini_graph_hires() { #? Create a one line high graph from an array of percentage values, usage; create_mini_graph #? Add a value to existing graph; create_mini_graph [-i, -invert] [-nc, -no-color] [-c, -color "array-name"] -add-value "graph_variable" #? Add last value from an array to existing graph; create_mini_graph [-i, -invert] [-nc, -no-color] [-c, -color "array-name"] -add-last "graph_variable" "value-array" @@ -2171,7 +2183,7 @@ collect_mem() { #? Collect memory information from "/proc/meminfo" mem[counter]=0 local i tmp value array mem_info height=$((box[mem_height]-2)) skip filter_value - local -a mem_array gpu_array swap_array available=("mem") + local -a mem_array swap_array available=("mem") unset 'mem[total]' #* Get memory and swap information from "/proc/meminfo" or psutil and calculate percentages @@ -2179,16 +2191,8 @@ collect_mem() { #? Collect memory information from "/proc/meminfo" local pymemout py_command -v pymemout "get_mem()" || return - read mem[total] mem[free] mem[available] mem[cached] swap[total] swap[free] gpu[total] gpu[free] <<<"$pymemout" + read mem[total] mem[free] mem[available] mem[cached] swap[total] swap[free] <<<"$pymemout" - if [[ $use_GPUtil == true ]]; then - if [[ -n ${gpu[total]} ]] && ((gpu[total]>0)); then - gpu[free_percent]=$((gpu[free]*100/gpu[total])) - gpu[used]=$((gpu[total]-gpu[free])) - gpu[used_percent]=$((gpu[used]*100/gpu[total])) - available+=("gpu") - fi - fi if [[ -z ${mem[total]} ]]; then return; fi if [[ -n ${swap[total]} ]] && ((swap[total]>0)); then swap[free_percent]=$((swap[free]*100/swap[total])) @@ -2318,6 +2322,43 @@ collect_mem() { #? Collect memory information from "/proc/meminfo" } +collect_gpu() { #? Collect memory and usage information from GPUtil + if [[ $use_GPUtil == true ]]; then + local -a available=("gpu") + local pygpuout + + py_command -v gpu[usage] "get_gpu_usage()" + py_command -v gpu[temp] "get_gpu_temp()" + py_command -v pygpuout "get_gpu_mem()" || return + read gpu[total] gpu[free] <<<"$pygpuout" + + gpu[free_percent]=$((gpu[free]*100/gpu[total])) + gpu[used]=$((gpu[total]-gpu[free])) + gpu[used_percent]=$((gpu[used]*100/gpu[total])) + + for array in ${available[@]}; do + for value in total used free available cached; do + if [[ $array == "gpu" && $value == "available" ]]; then break 2; fi + local -n this_value="${array}[${value}]" this_string="${array}[${value}_string]" + floating_humanizer -v this_string -s 1 -B "${this_value}" + done + done + + local -n gpu_temp_history="gpu_temp_history" + if ((${#gpu_temp_history[@]}>40)); then + gpu_temp_history=( "${gpu_temp_history[@]:20}" "${gpu[temp]}") + else + gpu_temp_history+=("${gpu[temp]}") + fi + + if ((${#gpu_history[@]}>tty_width*4)); then + gpu_history=( "${gpu_history[@]:$((tty_width*2))}" "$((gpu[usage]))") + else + gpu_history+=("$((gpu[usage]))") + fi + fi +} + collect_processes() { #? Collect process information and calculate accurate cpu usage if [[ $use_psutil == true ]]; then collect_processes_psutil $1; return; fi local argument="$1" @@ -2908,9 +2949,21 @@ calc_sizes() { #? Calculate width and height of all boxes done #* Copy numbers around to get target layout + if [[ $use_GPUtil == true ]]; then + #* Make space for the gpu box if it is being used + box[gpu_line]=$((box[mem_line])) + box[gpu_col]=$((box[processes_col])) + box[gpu_height]=${box[net_height]} + box[gpu_width]=${box[processes_width]} + + box[processes_line]=$((box[net_line]-$((box[mem_height]-box[gpu_height])))) + box[processes_height]=${box[mem_height]} + else + box[processes_line]=${box[mem_line]} + box[processes_height]=$((box[mem_height]+box[net_height])) + fi + box[mem_width]=${box[net_width]} - box[processes_line]=${box[mem_line]} - box[processes_height]=$((box[mem_height]+box[net_height])) # threads=${box[testing]} #! For testing, remove <-------------- @@ -2957,14 +3010,22 @@ calc_sizes() { #? Calculate width and height of all boxes box[n_col]="$((net_width-box[n_width]+2))" box[n_line]="$((net_line+(net_height/2)-(box[n_height]/2)+1))" - + if [[ $use_GPUtil == true ]]; then + #* Calculate placement of gpu value box + local gpu_line=$((box[gpu_line]+1)) gpu_width=$((box[gpu_width]-2)) gpu_height=$((box[gpu_height]-2)) + box[g_width]=32 + box[g_height]=${gpu_height} + box[g_col]="$((gpu_width-box[g_width]+box[gpu_col]+2))" + box[g_line]="$((gpu_line+(gpu_height/2)-(box[g_height]/2)+1))" + fi } draw_bg() { #? Draw all box outlines - local this_box cpu_p_width i cpu_model_len + local this_box cpu_p_width i cpu_model_len gpu_model_len gpu_driver_len unset boxes_out for this_box in ${box[boxes]}; do + if [[ $this_box == "gpu" && $use_GPUtil == false ]]; then continue; fi create_box -v boxes_out -col ${box[${this_box}_col]} -line ${box[${this_box}_line]} -width ${box[${this_box}_width]} -height ${box[${this_box}_height]} -fill -lc "${box[${this_box}_color]}" -title ${this_box} done @@ -2987,6 +3048,14 @@ draw_bg() { #? Draw all box outlines create_box -v boxes_out -col $((box[n_col]-1)) -line $((box[n_line]-1)) -width ${box[n_width]} -height ${box[n_height]} -lc ${theme[div_line]} -t "Download" print -v boxes_out -m $((box[n_line]+box[n_height]-2)) $((box[n_col]+1)) -rs -fg ${theme[div_line]} -t "┤" -fg ${theme[title]} -b -t "Upload" -rs -fg ${theme[div_line]} -t "├" + #* Misc gpu box + if [[ $use_GPUtil == true ]]; then + gpu_model_len=${#gpu[model]} + gpu_driver_len=${#gpu[driver]} + create_box -v boxes_out -col $((box[g_col]-1)) -line $((box[g_line]-1)) -width ${box[g_width]} -height ${box[g_height]} -lc ${theme[div_line]} -t "${gpu[model]:0:${gpu_model_len}}" + print -v boxes_out -m $((box[g_line]+box[g_height]-2)) $((box[g_col]+1)) -rs -fg ${theme[div_line]} -t "┤" -fg ${theme[title]} -b -t "${gpu[driver]:0:${gpu_driver_len}}" -rs -fg ${theme[div_line]} -t "├" + fi + if [[ $1 == "quiet" ]]; then draw_out="${boxes_out}" else echo -en "${boxes_out}"; fi @@ -3113,7 +3182,6 @@ draw_mem() { #? Draw mem, swap and disk statistics local -a types=("mem") unset mem_out - if [[ $use_GPUtil == true && $use_psutil == true ]]; then types+=("gpu"); fi if [[ -n ${swap[total]} && ${swap[total]} -gt 0 ]]; then types+=("swap"); fi #* Get variables from previous calculations @@ -3127,8 +3195,6 @@ draw_mem() { #? Draw mem, swap and disk statistics local -n type_name="$type" if [[ $type == "mem" ]]; then m_title="memory" - elif [[ $type == "gpu" ]]; then - m_title="GPU Memory" else m_title="$type" if ((height>14)); then ((y_pos++)); fi @@ -3139,7 +3205,6 @@ draw_mem() { #? Draw mem, swap and disk statistics for value in ${values}; do if [[ $type == "swap" && $value =~ available|cached ]]; then continue; fi - if [[ $type == "gpu" && $value =~ available|cached ]]; then continue; fi if [[ $system == "MacOS" && $value == "cached" ]]; then value_text="active" else value_text="${value::$((m_width-12))}"; fi @@ -3231,6 +3296,71 @@ draw_mem() { #? Draw mem, swap and disk statistics } +draw_gpu() { #? Draw GPU usage, memory, and temperature graphs + if [[ $use_GPUtil == true ]]; then + local gpu_out + + #* Get variables from previous calculations + local col=$((box[gpu_col]+1)) line=$((box[gpu_line]+1)) width=$((box[gpu_width]-2)) height=$((box[gpu_height]-2)) + local g_width=${box[g_width]} g_height=${box[g_height]} g_col=${box[g_col]} g_line=${box[g_line]} main_fg="${theme[main_fg]}" + + local graph_a_size graph_b_size + graph_a_size=$(( (height)/2 )); graph_b_size=${graph_a_size} + #* If resized recreate gpu box and gpu graphs + if ((resized>0)); then + local graph_a_size graph_b_size + graph_a_size=$(( (height)/2 )); graph_b_size=${graph_a_size} + if ((graph_a_size*2>10 except: cmem = mem.active>>10 - print(mem.total>>10, mem.free>>10, mem.available>>10, cmem, swap.total>>10, swap.free>>10, gpu_total<<10, gpu_free<<10) + print(mem.total>>10, mem.free>>10, mem.available>>10, cmem, swap.total>>10, swap.free>>10) + +def get_gpu_name(): + '''Fetch GPU model name and chop it to fit in the box''' + gpu = GPUtil.getGPUs()[0] + name = ((gpu.name).split("GeForce ",1)[1]) + print(name) + +def get_gpu_driver(): + '''Get current GPU driver''' + gpu = GPUtil.getGPUs()[0] + driver_name = ("Driver: {}".format(str(gpu.driver))) + print(driver_name) + +def get_gpu_usage(): + '''Get current GPU usage''' + gpu = GPUtil.getGPUs()[0] + load = int(gpu.load*100) + print(load) + +def get_gpu_mem(): + '''Get current GPU memory usage''' + gpu = GPUtil.getGPUs()[0] + gpu_total = int(gpu.memoryTotal) + gpu_free = int(gpu.memoryFree) + print(gpu_total<<10, gpu_free<<10) + +def get_gpu_temp(): + '''Get current GPU temperature''' + gpu = GPUtil.getGPUs()[0] + temp = int(gpu.temperature) + print(temp) def get_nics(): '''Get a list of all network devices sorted by highest throughput''' @@ -5279,6 +5441,7 @@ while command != 'quit': continue print('/EOL') #print(f'{command}', file=sys.stderr) + EOF fi fi diff --git a/requirements.txt b/requirements.txt index 24156d6..a45c071 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1 +1,2 @@ psutil==5.7.0 +GPUtil==1.4.0 diff --git a/src/bashtop.psutil.py b/src/bashtop.psutil.py index c531eb0..58fe38f 100755 --- a/src/bashtop.psutil.py +++ b/src/bashtop.psutil.py @@ -33,7 +33,12 @@ allowed_commands: Tuple[str] = ( 'get_cmd_out', 'get_sensors', 'get_sensors_check', - 'get_ms' + 'get_ms', + 'get_gpu_name', + 'get_gpu_driver', + 'get_gpu_mem', + 'get_gpu_temp', + 'get_gpu_usage' ) command: str = '' cpu_count: int = psutil.cpu_count() @@ -153,15 +158,42 @@ def get_mem(): '''Get current system memory and swap usage''' mem = psutil.virtual_memory() swap = psutil.swap_memory() - '''GPU monitoring addition, will add some error checking later''' - gpu = GPUtil.getGPUs()[0] - gpu_total = int(gpu.memoryTotal) - gpu_free = int(gpu.memoryFree) try: cmem = mem.cached>>10 except: cmem = mem.active>>10 - print(mem.total>>10, mem.free>>10, mem.available>>10, cmem, swap.total>>10, swap.free>>10, gpu_total<<10, gpu_free<<10) + print(mem.total>>10, mem.free>>10, mem.available>>10, cmem, swap.total>>10, swap.free>>10) + +def get_gpu_name(): + '''Fetch GPU model name and chop it to fit in the box''' + gpu = GPUtil.getGPUs()[0] + name = ((gpu.name).split("GeForce ",1)[1]) + print(name) + +def get_gpu_driver(): + '''Get current GPU driver''' + gpu = GPUtil.getGPUs()[0] + driver_name = ("Driver: {}".format(str(gpu.driver))) + print(driver_name) + +def get_gpu_usage(): + '''Get current GPU usage''' + gpu = GPUtil.getGPUs()[0] + load = int(gpu.load*100) + print(load) + +def get_gpu_mem(): + '''Get current GPU memory usage''' + gpu = GPUtil.getGPUs()[0] + gpu_total = int(gpu.memoryTotal) + gpu_free = int(gpu.memoryFree) + print(gpu_total<<10, gpu_free<<10) + +def get_gpu_temp(): + '''Get current GPU temperature''' + gpu = GPUtil.getGPUs()[0] + temp = int(gpu.temperature) + print(temp) def get_nics(): '''Get a list of all network devices sorted by highest throughput'''