fhem verursacht 100% CPU-Auslastung durch select

Begonnen von Dr. Boris Neubert, 07 August 2011, 19:42:53

Vorheriges Thema - Nächstes Thema

Dr. Boris Neubert

                                             

Hallo,

in letzter Zeit sehe ich öfters das Problem, daß fhem Amok läuft und
dauerhaft 100% CPU-Auslastung verursacht. Heute habe ich versucht, mir
das näher anzusehen, und ein strace auf den Prozess losgelassen. Ich
sehe dort

...
select(80, [4 5 6 7 12 21 75], NULL, NULL, {15, 25241}) = 1 (in [7],
left {15, 25225})
select(80, [4 5 6 7 12 21 75], NULL, NULL, {15, 24904}) = 1 (in [7],
left {15, 24888})
select(80, [4 5 6 7 12 21 75], NULL, NULL, {15, 24563}) = 1 (in [7],
left {15, 24547})
select(80, [4 5 6 7 12 21 75], NULL, NULL, {15, 24244}) = 1 (in [7],
left {15, 24227})
select(80, [4 5 6 7 12 21 75], NULL, NULL, {15, 23932}) = 1 (in [7],
left {15, 23916})
...

ohne Ende. Gibt es eine Möglichkeit herauszufinden, warum das passiert?

Viele Grüße
Boris

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

rudolfkoenig

                                                   

> ohne Ende. Gibt es eine Möglichkeit herauszufinden, warum das passiert?

Ich wuerde mit ls -l /proc//fd anfangen, und feststellen was 7 ist
(war?).  Dessen Modul hat wahrscheinlich vergessen 7 aus %selectlist zu
entfernen.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Dr. Boris Neubert

                                             

Am 07.08.2011 23:17, schrieb Rudolf Koenig:
>> ohne Ende. Gibt es eine Möglichkeit herauszufinden, warum das passiert?
>
> Ich wuerde mit ls -l /proc//fd anfangen, und feststellen was 7 ist
> (war?).  Dessen Modul hat wahrscheinlich vergessen 7 aus %selectlist zu
> entfernen.
>

# ps -e | grep fhem
 1643 ?        1-01:40:10 fhem.pl
# strace -p 1643
select(24, [5 6 7 12 21], NULL, NULL, {21, 329181}) = 1 (in [7], left
{21, 329165})
select(24, [5 6 7 12 21], NULL, NULL, {21, 328801}) = 1 (in [7], left
{21, 328784})
select(24, [5 6 7 12 21], NULL, NULL, {21, 328433}^C
Process 1643 detached
# ls -l /proc/1643/fd/7
lrwx------ 1 root root 64 Aug  7 16:41 /proc/1643/fd/7 -> socket:[4895]
# netstat -e | grep 4895
tcp        9      0 vserver1.home.neu:40640 avrnetio.hom:sms-rcinfo
VERBUNDEN   root       4895

AHA, avrnetio.
Autor: ich :-#

Ich sollte bald mal 90_IOWrite.pm angehen, damit alle Programmierfehler
bei I/O im selben Modul sind ;-)

Danke für den Tipp und viele Grüße
Boris

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!