#! /bin/zsh # # this file: # https://dataswamp.org/~incal/conf/.zsh/temp temp-gov () { local t=100 local cpu local cpu_min local cpu_max perl -e '1 while 1' & local pid=$! sleep 10 local i local g for g in $(cpufreq-info -g); do sudo cpufreq-set -g $g cpu_min=999 cpu_max=0 for i in {0..$t}; do cpu=$(sensors -j | jq -a '.["k10temp-pci-00c3"].Tdie.temp1_input') (( $cpu < $cpu_min )) && cpu_min=$cpu (( $cpu > $cpu_max )) && cpu_max=$cpu done printf "CPU C (%.2f %.2f) (%d iterations) %s\n" $cpu_min $cpu_max $t $g done kill $pid } temperature () { local cpu_min=999 local cpu_max=0 local gpu_min=999 local gpu_max=0 local cpu local gpu while true; do cpu=$(sensors -j | jq -a '.["k10temp-pci-00c3"].Tdie.temp2_input') gpu=$(sensors -j | jq -a '.["nouveau-pci-0100"].temp1.temp1_input') (( $cpu > $cpu_max )) && cpu_max=$cpu (( $gpu > $gpu_max )) && gpu_max=$gpu (( $cpu < $cpu_min )) && cpu_min=$cpu (( $gpu < $gpu_min )) && gpu_min=$gpu printf "CPU %.1f (%.1f %.1f) C\nGPU %.1f (%.1f %.1f) C\n\n" \ $cpu $cpu_min $cpu_max \ $gpu $gpu_min $gpu_max sleep 1 done } alias fans=temperature