Sysinfo-plugin

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Probleme)
(Probleme: Steht ja nun auf der Plugin Seite...)
Zeile 112: Zeile 112:
 
+ 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);
 
+ 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);
 
</pre>
 
</pre>
* Plugin wurde nicht nach den konventionen gepackt... [[Plugin_Installation#Für_Entwickler|Siehe]]
 
  
 
==Links==
 
==Links==

Version vom 11. Dezember 2004, 12:53 Uhr

Inhaltsverzeichnis

Beschreibung

Plugin zeigt Systeminformationen:

  • kernel version
  • cpu type
  • cpu frequenc
  • cpu usage
  • cpu free
  • total memory
  • memory free
  • memory usage
Sysinfo-plugin.jpg

Hardwareanforderungen

Softwareanforderungen

  • sensors (optional)

Installation

ln -s $SOURCEDIR/VDR/PLUGINS/src/sysinfo/script/sysinfosensors.sh /usr/local/bin

Konfiguration

Laut README ist die sysinfosensors.sh anzupassen, nur Notwendig 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> sysinfosensors.sh

Usage: sysinfosensors.sh {cputemp|cpufan|mbtemp|mbfan}

Bsp:

bash> sysinfosensors.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> sysinfosensors.sh cputemp
+33°C

Bei den anderen Daten ist ähnlich zu verfahren.

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

[1] http://secure.netroedge.com/~lm78 Sensors Projekt
[2] http://www.antbear.org/linux24_lm_sensors.html Sensors Howto
[1] http://kikko77.altervista.org Homepage des Plugins