문제: linux 구동시 주기적으로 시스템의 온도를 기록하자.
<참고: https://unix.stackexchange.com/questions/269858/does-linux-typically-log-system-temperature-data>
해결:
CPU
sensord -> 시스템온도와 voltage를 system log에 기록
sudo apt-get install lm-sensors
sudo sensors-detect
sudo service module-init-tools start
sudo service module-init-tools restart
sensors
HDD
hddtemp -> hard drive의 온도를 기록
sudo apt-get install hddtemp
sudo hddtemp /dev/sda /dev/sdb
but 둘다 수동으로 타이핑한 뒤부터 기록함.
GPU
nvidia-smi -q -d temperature | grep GPU | perl -pe '/^GPU/ && s/\n//' | grep ^GPU
주기적으로 수행 후, 기록하기(CPU, GPU만)
1. shell script만들기
logging_temp.sh
#!/bin/sh
date
sensors
nvidia-smi -q -d temperature | grep GPU | perl -pe '/^GPU/ && s/\n//' | grep ^GPU
echo ""
2. crontab에 등록하며 로깅설정하기
crontab -e
맨아래에 추가 (***** 빼면 안됨)
* * * * * logging_temp.sh >> /home/yochin/Desktop/log_temp.log 2>&1
3. crontab -l 로 확인하기
4. 만약에 permission denied라면?
chmod 744 loggin_temp.sh로 sh의 권한변경
ps -ef | grep cron 으로 pid확인 후, sudo kill -9 pid로 죽임