surveiller temperature du cpu
Publié : 02 mai 2015, 21:02
Bientôt les grosses chaleurs alors je vais surveiller si mon cpu est bon pour cuire un steak
Un timer avec systemd va envoyé une alerte si mon processeur dépasse la limite que je lui donne.
Cette alerte est inscrite dans les logs mais peut-être aussi visuelle
1) écrire un petit script qui teste la chaleur avec la commande "sensors" :
/usr/local/bin/temperatures-alert.sh
ici possibilité d'utiliser :
-notify-send ( paquet : libnotify)
-dzen2 (meme paquet)
-les logs
il reste a écrire les unités systemd utilisateur :
/home/MONLOGIN/.config/systemd/user/temp-notify@.service
/home/MONLOGIN/.config/systemd/user/temp-notify@.timer
ps: un contrôle toute les 77 minutes c'est pas énorme ! trop peu ?
il ne me reste plus qu'a lancer mon timer en passant en paramètre ma température maximum
Me voila paré pour (encore) le plus chaud été du siècle bien sur, la meilleure solution : des grandes vacances sans informatique
Un timer avec systemd va envoyé une alerte si mon processeur dépasse la limite que je lui donne.
Cette alerte est inscrite dans les logs mais peut-être aussi visuelle
1) écrire un petit script qui teste la chaleur avec la commande "sensors" :
/usr/local/bin/temperatures-alert.sh
#!/usr/bin/env bash
# test de température des processeurs
export DISPLAY=:0.0
CORE='Core '
if [ -z $1 ]; then
max=100
else
max=$1
fi
declare -a cpus=()
cpus=$(sensors |grep -E "$CORE(.*): (.*)" |awk -F" " '{print $3}' |grep -Eo "[0-9]{2,3}")
for cpu in ${cpus[@]}; do
if [ "$cpu" -gt "$max" ]; then
msg="[temperature CPU] ${cpu} > ${max}"
logger -p daemon.alert "${msg}"
#notify-send "$msg" -t 000 -u critical -i dialog-warning
#(echo "${msg}"; sleep 3) | dzen2 -h 70 -fg '#cc0000' -fn lime
fi
done
exit 0
ici possibilité d'utiliser :
-notify-send ( paquet : libnotify)
-dzen2 (meme paquet)
-les logs
journalctl -rb -p err
il reste a écrire les unités systemd utilisateur :
/home/MONLOGIN/.config/systemd/user/temp-notify@.service
[Unit]
Description=Notifier si la température d'un cpu dépasse %i°C
[Service]
Type=oneshot
ExecStart=/bin/bash /usr/local/bin/temperatures-alert.sh %i
[Install]
WantedBy=graphical-target
# systemctl --user daemon-reload
# systemctl --user start temp-notify@100.service
/home/MONLOGIN/.config/systemd/user/temp-notify@.timer
[Unit]
Description=un cpu chauffe t-il trop ? au dessus de %i°C ?
# verification par : systemctl list-timers
[Timer]
Unit=temp-notify@%i.service
OnBootSec=41min
OnUnitActiveSec=77min
[Install]
WantedBy=timers.target
# systemctl --user enable temp-notify@100.timer
# systemctl --user list-timers
ps: un contrôle toute les 77 minutes c'est pas énorme ! trop peu ?
il ne me reste plus qu'a lancer mon timer en passant en paramètre ma température maximum
systemctl --user enable temp-notify@40.timer
Me voila paré pour (encore) le plus chaud été du siècle bien sur, la meilleure solution : des grandes vacances sans informatique