Măsurăm temperatura în linux

Vara de căldură în sine nu face simțit numai că a crescut consumul de o varietate de băuturi răcoritoare, „frumos“ mirosind pasagerii de autobuz, dar, de asemenea, temperatura ridicată în interiorul unității de sistem. Și dacă tehnica, care este întotdeauna la îndemână, puteți urmări în continuare cu „pacienți“, situat la o oarecare distanță de braț, tot mai complicate. Din fericire, până în prezent, Linux are tot ce ai nevoie pentru monitorizarea temperaturii: începând cu greutatea conducătorilor auto de a lucra direct cu fierul, iar ultimul front-endami care permite foarte frumos și vizual, în datele de urmărire în timp real provenite de la senzorii de pe placa de baza, procesor, , hard disk-ul.







Sarcina mea a fost mult mai simplă. Nu am nevoie să urmăresc totul în "timp real", este suficient să aruncăm o privire la temperatura mai multor servere departe de mine o dată pe zi.

Instalarea și reglarea senzorilor lm

De fapt, există multe modalități de a "trece" la senzorii de temperatură de la Linux. Din toate soiurile mi-au plăcut bine-cunoscutele senzori lm - un set de drivere, biblioteci și utilitare pentru monitorizarea datelor provenite de la senzori de calculator.

lm-senzori există în depozitele Ubuntu, așa că instalarea este la fel de simplă ca de obicei și nu provoacă probleme:

$ sudo apt-get instala lm-senzori

După o instalare reușită, trebuie să determinați tipul de hardware instalat în sistemul dvs. Înainte ca senzorii să poată primi date de la sistem, modulele de kernel corespunzătoare trebuie să fie încărcate. Din fericire, lm_sensors într-o anumită măsură avut grijă de utilizator normal și au dezvoltat un instrument de senzori-detecta, permițând un mod de „maestru“ pentru a determina tipul disponibil pe sistemul hardware și o listă de module de kernel pentru a fi încărcate. Deci, rula senzori detectează, suntem de acord cu propunerea echipamentului de scanare și, eventual, a obține o listă de module de kernel necesare pentru funcționarea corectă a lm_sensors:







Înainte ca detecția senzorilor să-și finalizeze activitatea, va sugera adăugarea numelor modulelor de drivere ale dispozitivelor găsite în / etc / modules. La mine arăta așa:

Pentru a încărca tot ce este necesar, adăugați-l la / etc / modules:
# ---- tăiat aici ----
# Drivere de chip
w83627ehf
# ---- tăiat aici ----
Lista de mai sus va fi
conține prea multe module. Treci peste cele potrivite!
Doriți să adăugați automat aceste linii în / etc / modules? (da / nu)

În acest moment, cred că este mai bine să fiți de acord că modulele de bază necesare senzorilor lm sunt încărcate automat la momentul inițierii sistemului.

Acum, pentru a nu reporni, puteți să cereți sistemului să încarce modulele declarate în / etc / modules, dar nu sunt încă încărcate module kernel:

sudo /etc/init.d/module-init-tools începe

Primirea datelor

Dacă configurația a avut succes, hardware-ul este acceptat și modulele kernel corespunzătoare sunt încărcate, atunci totul este foarte simplu:

$ senzori
k8temp-pci-00c3
Adaptor: adaptor PCI
Core0 Temp: + 26.0 ° C
Core0 Temp: + 29,0 ° C
Core1 Temp: + 40,0 ° C
Core1 Temp: + 29,0 ° C
w83627dhg-isa-0a10
Adaptor: adaptor ISA
Vcore: +1,32 V (min = +0,00 V, max = 1,74 V)
in1: +0,78 V (min = + 0,71 V, max = 1,78 V)
AVCC: +3,30 V (min = +1,63 V, max = +0,21 V) ALARMĂ
VCC: +3,30 V (min = +3,78 V, max = +1,33 V) ALARMĂ
in4: +0,97 V (min = +1,98 V, max = +1,78 V) ALARMĂ
in5: +0,98 V (min = +1,94 V, max = +1,50 V) ALARMĂ
in6: +1,10 V (min = +1,83 V, max = +1,51 V) ALARMĂ
3VSB: +3.28 V (min = +3.31 V, max = +4.02 V) ALARMĂ
Vbat: +3.04 V (min = +3.98 V, max = +1.65 V) ALARMĂ
fan1: 0 RPM (min = 753 RPM, div = 128) ALARMĂ
fan2: 2311 RPM (min = 753 RPM, div = 9)
fan3: 0 RPM (min = 1506 RPM, div = 128) ALARMĂ
fan4: 0 RPM (min = 0 RPM, div = 128)
fan5: 0 RPM (min = 10546 RPM, div = 128) ALARMĂ
TEMP1: + 42,0 ° C (mare = -18.0 ° C, hyst = + 91,0 ° C) Senzor = termistor
temp2: + 63,5 ° C (înalt = + 65,0 ° C, hyst = + 65,0 ° C) senzor = diodă
temp3: + 25,0 ° C (înalt = + 80,0 ° C, hyst = + 75,0 ° C) senzor = termistor
cpu0_vid: +0.000 V

Cele de mai sus arată ieșirea senzorilor lm pentru două adaptoare. k8temp-pci-00c3 - arată temperatura de nuclee de procesare (modulul de bază k8temp «știe“ cum să obțineți temperatura de procesoare AMD Athlon64 / FX si Opteron), în timp ce informațiile adaptor w83627dhg-isa-0a10 rapoarte primite de la senzorii placii de baza.

Funcția Crontab

Așa cum am spus, ma uit la serverul de control al temperaturii o dată pe zi - pentru mine mai mult decât suficient, și deci nu voi (încă, oricum) să deranjeze pe programele de construcții și lucruri de genul asta, dar aș naviga doar mesajele de e-mail, care și va conține informațiile de care am nevoie. Pentru a trimite mesaje e-mail, eu folosesc cel mai convenabil în multe feluri, Perl-script sendEmail. Iată cum arată sarcina mea în crontab:







Articole similare

Trimiteți-le prietenilor: