Как узнать температуру процессора или скорость кулера из удаленной консоли на freebsd сервере?
А очень просто!
Если у вас процессор Intel Core или новее, то можно так
# kldload coretemp
# sysctl -a | grep temperature
Если AMD,
# nkldload amdtemp
# sysctl -a | grep temp
Но, если какой-нибудь Pentium 4, то coretemp работать не будет.
Благо в портах есть удобная утилитка mbmon, сокращенно от MotherBoard Monitor. Этот порт с недавнего времени был перенесен в
sysutils/xmbmon
. # uname -srmКраткий, "how to" как обращаться.
FreeBSD 10.1-STABLE i386
# dmesg | grep CPU
CPU: Intel(R) Celeron(R) CPU 2.66GHz (2666.84-MHz 686-class CPU)
Запускаем с опцией -A, она автоматически определяет подходящий метод доступа "VIA686 HWM directly", "SMBus", "ISA I/O port".
# mbmon -AЗапуск в debag режиме покажет какой метод используется.
# mbmon -dОпция -r выводит информацию в столбик
ioctl(smb0:open): No such file or directory
SMBus[VT8233/A/8235/8237(KT266/333/400/600/880)] found, but No HWM available on it!!
Using ISA-IO access method!!
* Winbond Chip W83697HF found.
# mbmon -I -r -с1Первая температура материнской платы, затем отдельно каждое ядро.
TEMP0 : 45.0
TEMP1 : 51.5
TEMP2 : 0.0
FAN0 : 0
FAN1 : 1807
FAN2 : 0
VC0 : +1.38
VC1 : +0.06
V33 : +3.26
V50P : +5.08
V12P : +10.94
V12N : +0.14
V50N : +1.64
Опция -T задает краткий вывод. Имеется 7 режимов:
- temp0\n
- temp1\n
- temp2\n
- temp0\temp1\n
- temp0\temp2\n
- temp1\temp2\n
- temp0\temp1\temp2\n
# mbmon -I -T 2И аналогично для скорости вращения вентиляторов, опция -F.
50.5
Для удобства можно забабахать небольшой скриптик и получать письма или смс-ки в критических ситуациях.
#!/bin/shУ мтс нужно подключить бесплатную доп услугу "Прием SMS с E-mail".
t=`mbmon -I -c 1 -T 2`
if [ "$t" > "60" ]
then
echo "Temperature is $t " | mail -s "[Warning]: High Temp!" your@gmail.com
echo "Temperature is $t " | mail -s "[Warning]: High Temp!" 79124567890@sms.ural.mts.ru
fi
Так же для удобно, когда температура выводится автоматически на экран приветствия при логине. Для этого сделаем скрипт
motd.sh
#!/bin/shКладем его в
t1=`mbmon -I -c 1 -T 2`
t2=`mbmon -I -c 1 -T 1`
f=`mbmon -I -c 1 -F 2`
echo "The weather is"
echo "CPU: $t1"
echo "Chipset: $t2"
echo "Fan: $f"
/usr/local/sbin
и прописываем в пользовательском .profile
после или вместо подсказок.#if [ -x /usr/games/fortune ] ; then /usr/games/fortune freebsd-tips ; fiТеперь каждый раз во время логина будете видеть текущую погоду на сервере, насколько там жарко и ветрено!
echo ""
if [ -f /usr/local/sbin/motd.sh ]; then motd.sh; else echo "file is absent"; fi
очень полезная статья, спасибо автору!
ОтветитьУдалить