Add system-info Linux systemd user unit
Update the `system-info` directory with the addition of a `systemd` service file and an new Linux script to display current CPU temperature and core/thread utilization. Update `.conduit.yaml` with addition `apt` dependencies `sysstat` and `jq`. Update the install and remove scripts to setup and tear down the `systemd` user unit. Lastly, decrease the `tmux` status line update interval from 5 to 2 seconds.
This commit is contained in:
24
system-info/system-info-Linux.sh
Executable file
24
system-info/system-info-Linux.sh
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
cache_dir=~/.cache/tmux
|
||||
cache_file=$cache_dir/system-info
|
||||
|
||||
# Make sure the output directory exists.
|
||||
if [ ! -d $cache_dir ]; then
|
||||
mkdir -p $cache_dir
|
||||
fi
|
||||
|
||||
# Cleanup cache file when interrupted.
|
||||
trap '[ -f $cache_file ] && rm $cache_file; exit' INT
|
||||
trap '[ -f $cache_file ] && rm $cache_file; exit' TERM
|
||||
|
||||
while true; do
|
||||
# Parse the current CPU load on all cores/threads.
|
||||
cpu_load=`mpstat -P ALL -n 1 -u 1 -o JSON | \
|
||||
jq '.sysstat.hosts[0].statistics[0]["cpu-load"][1:]|.[].idle' | \
|
||||
awk '$idle ~ /[-.0-9]*/ { printf "%s", substr("█▇▆▅▄▃▂▁ ", int($idle / 11), 1) }'`
|
||||
# Parse the current CPU package temperature.
|
||||
cpu_temp=`sensors coretemp-isa-0000 | awk 'NR == 3 { print substr($4, 2) }'`
|
||||
# Write to the cache file.
|
||||
echo "$cpu_temp $cpu_load" > $cache_file
|
||||
done
|
||||
Reference in New Issue
Block a user