Sysinfo-plugin
Aus VDR Wiki
Version vom 5. März 2011, 12:15 Uhr von Hulk (Diskussion | Beiträge)
Inhaltsverzeichnis |
Beschreibung
Autor: Alberto Pachera
Plugin zeigt Systeminformationen:
- kernel version
- cpu type
- cpu frequenc
- cpu usage
- cpu free
- total memory
- memory free
- memory usage
- video disk space
Bilder
Softwareanforderungen
- sensors (optional)
Installation
Source
Arch-Linux
pacman -S lm_sensors
Crux
prt-get depinst lm_sensors
Debian
apt-get install lm-sensors
Gentoo
emerge lm_sensors
SuSE
yast -i sensors
Konfiguration
Link setzen.
ln -s $SOURCEDIR/VDR/PLUGINS/src/sysinfo/script/sysinfo.sh /usr/local/bin
Laut README muß die sysinfo.sh nur dann angepasst werden, wenn keine Daten im zweiten Block der OSD Ausgabe zu sehen sein sollten.
Cpu Temp: xxxxxx Fan1: xxxxxx M/B Temp: xxxxxx Fan2: xxxxxx
bash> sysinfo.sh Usage: sysinfo.sh {cputemp|cpufan|mbtemp|mbfan}
Bsp:
bash> sysinfo.sh cputemp
Bekommt man hier keine Ausgabe, ist sensors aufzurufen.
bash> sensors as99127f-i2c-0-2d Adapter: SMBus Via Pro adapter at e800 Algorithm: Non-I2C SMBus adapter VCore 1: 1.72 V (min = 1.53 V, max = 1.87 V) VCore 2: 0.08 V (min = 1.53 V, max = 1.87 V) 3.3V: 3.37 V (min = 2.97 V, max = 3.63 V) 5V: 4.99 V (min = 4.50 V, max = 5.48 V) 12V: 11.86 V (min = 10.79 V, max = 13.11 V) -12V: -12.08 V (min = -15.06 V, max = -12.32 V) ALARM -5V: -5.06 V (min = -5.48 V, max = -4.50 V) fan1: 3792 RPM (min = 3000 RPM, div = 2) fan2: 0 RPM (min = 3000 RPM, div = 2) ALARM fan3: 0 RPM (min = 3000 RPM, div = 2) ALARM temp1: 33°C (limit = 60°C) temp2: 224.0°C (limit = 120°C, hysteresis = 100°C) (beep) temp3: 224.4°C (limit = 120°C, hysteresis = 100°C) vid: 1.700 V alarms: beep_enable: Sound alarm enabled
Wir nehmen das mal auseinander.
sensors | grep -i 'CPU TEMP' | cut -c 10-18 | tr -d ' ' ^ ^ ^ ^ ^ Löschen der Leerzeichen ^ ^ ^ Gibt 'characters' aus, zeichen 10 bis 18 ^ Suchphrase lautet 'CPU TEMP', '-i' steht für 'ignore case distinctions' GROß/klein Schreibung
Folgende Änderung:
- sensors | grep -i 'CPU TEMP' | cut -c 10-18 | tr -d ' ' sensors | grep -i '^temp1:' | cut -c 10-18 | tr -d ' '
Nun sollte sensors den gewünschten Wert ausgeben:
bash> sysinfo.sh cputemp 33°C
Bei den anderen Daten ist ähnlich zu verfahren.
Sonstiges
Probleme
- Bei älteren Versionen von "ps" (welches genutzt wird um "cpu free" anzuzeigen), kann es Probleme mit der Syntax geben sysinfoosd.c:
// Calculate cpu free ExecShellCmd("CPU=0; for I in `ps -eo ""%C"" | grep ""\\.""`; do CPU=`echo $CPU $I | awk '{ print $1 $2 }'`; done; echo $CPU", cTemp); ^^^^^^^^^^^^^
- Sieht man am besten auf der Konsole, anstatt einzelne WERTE... wird (not found) ausgegeben:
~# ps e%C spec value %C not found
- Änderung:
// Calculate cpu free - ExecShellCmd("CPU=0; for I in `ps -eo ""%C"" | grep ""\\.""`; do CPU=`echo $CPU $I | awk '{ print $1 $2 }'`; done; echo $CPU", cTemp); ExecShellCmd("CPU=0; for I in `ps xu | awk '{ print $3 }' | grep ""\\.""`; do CPU=`echo $CPU $I | awk '{ print $1 $2 }'`; done; echo $CPU", cTemp);
Links
- Sensors Projekt
- Sensors Howto
- Homepage des Plugins tw. eng. Rest italienisch