xmltv2vdr läuft etliche Stunden

  • Bei mir läuft xmltv2vdr mind. 12 Stunden. Da mein VDR nur zum Aufzeichnen hochfährt, nervt es schon ein wenig, wenn er anschließend noch ewig nachläuft. Die Datei /var/cache/vdr/epg.data hat ca. 27 MB, was ja nun wirklich nicht riesig ist, aber dennoch braucht das Programm so unglaublich lange. Woran kann das liegen? Habt ihr das Problem auch?

    HW: Asus A8N-SLI Premium | Athlon 64 3700+ | Hauppauge WinTV Nova-HD-S2 | 1Gb Kingston RAM |


    SW: Ubuntu 12.04 | VDR 2.0.2 | NVIDIA Treiber | xine-lib-1.2 | Xineliboutput Plugin (1.0.90-cvs) | Live Plugin (0.3.0) | xmltv2vdr (0.2.0pre) | scheduler-Plugin (0.1.6) | epgsearch-Plugin (1.0.1.beta5) | markad-Plugin (0.1.5pre ) | extrecmenu (1.2.2)

  • Lässt du das EPG mischen? Was steht im Log?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Nein, ich lasse nicht mischen.
    das einzige, was immer wieder im Abstand von etwa 1 Stunde in der /var/log/syslog steht, und mit xmltv2vdr zu tun hat ist:

    Code
    Sep 29 16:38:19 vdr vdr: [2714] xmltv2vdr housekeeping thread started (pid=1919, tid=2714, prio=high)
    Sep 29 16:38:19 vdr vdr: [2714] xmltv2vdr housekeeping thread ended (pid=1919, tid=2714)

    HW: Asus A8N-SLI Premium | Athlon 64 3700+ | Hauppauge WinTV Nova-HD-S2 | 1Gb Kingston RAM |


    SW: Ubuntu 12.04 | VDR 2.0.2 | NVIDIA Treiber | xine-lib-1.2 | Xineliboutput Plugin (1.0.90-cvs) | Live Plugin (0.3.0) | xmltv2vdr (0.2.0pre) | scheduler-Plugin (0.1.6) | epgsearch-Plugin (1.0.1.beta5) | markad-Plugin (0.1.5pre ) | extrecmenu (1.2.2)

  • Dann verstehe ich nicht, warum er nicht herunterfahren sollte - wer verhindert denn jeweils den Shutdown? Kannst du mal ein komplettes Log posten? http://www.yavdr.org/documentation/0.5/de/ch06s01.html
    Wie sind die Werte für die Brückenzeit und das Ausschalten bei Inaktivität gesetzt?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hier die komplette syslog


    Brückenzeit steht bei 30 min. und bei Inaktivität stehen 10 min. Wenn ich die Powertaste drücke, kommt die Meldung, ob ich wirklich ausschalten möchte, xmltv2vdr läuft noch.

    HW: Asus A8N-SLI Premium | Athlon 64 3700+ | Hauppauge WinTV Nova-HD-S2 | 1Gb Kingston RAM |


    SW: Ubuntu 12.04 | VDR 2.0.2 | NVIDIA Treiber | xine-lib-1.2 | Xineliboutput Plugin (1.0.90-cvs) | Live Plugin (0.3.0) | xmltv2vdr (0.2.0pre) | scheduler-Plugin (0.1.6) | epgsearch-Plugin (1.0.1.beta5) | markad-Plugin (0.1.5pre ) | extrecmenu (1.2.2)

  • Gerdchen03


    Kann es sein das da ein paar aktualisierte Versionen des Plugins waren und die DB zwischendrin niemals "neu aufgebaut" wurde?


    Lass die einfach mal eben neu aufbauen:


    Code
    #/> svdrpsend plug xmltv2vdr deld


    Regards
    fnu

    HowTo: APT pinning

  • Ich erhalte dann eine Fehlermeldung. Angeblich gibt es keine DB.

    Code
    root@vdr:/home/vdruser# svdrpsend plug xmltv2vdr deld
    220 vdr SVDRP VideoDiskRecorder 2.0.2; Mon Sep 30 01:20:04 2013; UTF-8
    550 failed to delete database
    221 vdr closing connection
    root@vdr:/home/vdruser#

    HW: Asus A8N-SLI Premium | Athlon 64 3700+ | Hauppauge WinTV Nova-HD-S2 | 1Gb Kingston RAM |


    SW: Ubuntu 12.04 | VDR 2.0.2 | NVIDIA Treiber | xine-lib-1.2 | Xineliboutput Plugin (1.0.90-cvs) | Live Plugin (0.3.0) | xmltv2vdr (0.2.0pre) | scheduler-Plugin (0.1.6) | epgsearch-Plugin (1.0.1.beta5) | markad-Plugin (0.1.5pre ) | extrecmenu (1.2.2)

  • Ich erhalte dann eine Fehlermeldung. Angeblich gibt es keine DB.

    Hatte schon so was vermutet, das ist (D)ein Problem, mußt Du jetzt mal klären, Schreibrechte, Platz ... ?


    Im Groben, "xmltv2vdr" legt generell die "epg.db" im VDR Video Verzeichnis ab, kann man aber auch als Start-Parameter im Plugin definieren. Früher "/var/lib/video.00" heute eher "/srv/vdr/video.00".


    In aktuellen Version nutzt er ein "tmpfs" als Arbeitsverzeichnis, definiert sind "/tmp", "/var/run/vdr", meine ich. Wenn er die findet und es sind Filesystem im RAM nutzt er diese.


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Sep 29 15:37:55 vdr vdr: [1919] xmltv2vdr: using file '/srv/vdr/video/epg.db' for epg database (storage)
    Sep 29 15:37:55 vdr vdr: [1919] xmltv2vdr: using file '/dev/shm/epg.db' for epg database (runtime)
    Sep 29 15:37:55 vdr vdr: [1919] xmltv2vdr: using dir '/var/cache/vdr/epgimages' for epgimages (30)


    Das sind die Verzeichnisse, die du meintest, oder?
    Arbeitsverzeichnis müsste /var/cache/vdr sein, das gibt es eine epg.data. Im Verzeichnis /srv/vdr/video/ gibt es übrigens keine epg.data. Bei beiden Ordnern sind die Rechte auf 755 eingestellt, und Eigentümer ist vdruser, der den VDR auch ausführt. Komishc ist nur, dass es kürzlich noch ging.

    HW: Asus A8N-SLI Premium | Athlon 64 3700+ | Hauppauge WinTV Nova-HD-S2 | 1Gb Kingston RAM |


    SW: Ubuntu 12.04 | VDR 2.0.2 | NVIDIA Treiber | xine-lib-1.2 | Xineliboutput Plugin (1.0.90-cvs) | Live Plugin (0.3.0) | xmltv2vdr (0.2.0pre) | scheduler-Plugin (0.1.6) | epgsearch-Plugin (1.0.1.beta5) | markad-Plugin (0.1.5pre ) | extrecmenu (1.2.2)

    Einmal editiert, zuletzt von Gerdchen03 ()

  • Das sind die Verzeichnisse, die du meintest, oder?

    Ja, genau, sieht eigentlich gut aus, das "runtime" Verzeichnis ist IMHO nicht falsch, dies soll ja im RAM liegen.


    Beim VDR Start zieht er sich die "epg.db" in dieses "runtime" Verzeichnis, arbeitet dort während der Laufzeit und kopiert die "epg.db" beim Beenden des VDR wieder in das "storage" Verzeichnis. "/var/cache/vdr" ist eben in der Regel eher kein "tmpfs", würde also kein Vorteil bringen und von xmltv2vdr gar nicht genutzt werden. Es macht auch keinen Sinn das zu beeinflussen, weil es ja eh nur während der Laufzeit genutzt wird, wo kann dem Nutzer an sich egal sein, Hauptsache die Logik funktioniert.


    Hat Dein "vdruser" Rechte in "/dev/shm"? Platz, Größe?


    Die yaVDR Pakete legen ein "/var/run/vdr" mit Owner "vdr:vdr" an, u.a. für osdteletext oder auch xmltv2vdr, ähnliches könntest Du mit einem Upstart-Job abfackeln.


    Bei "/var/cache/vdr/epgimages" würde ich aufpassen. Bei den epgimages werden massig symbolische Links angelegt, wobei jeder einzelne einen Inode kostet und ganz schnell die max. Anzahl der Inodes für das entsprechende Dateisystem ausfüllt. Im Ergebnis kannst Du dann nix mehr in das FS schreiben, obwohl eigentlich Platz ist.


    Hab's schon mehrfach anderweitig empfohlen, ich würde hier ein Disk-Image anlegen und dies mit einer hohen Inode-Dichte formatieren, z.B.:


    Code
    #/> sudo dd if=/dev/zero of=/srv/vdr/video/epgimages.img bs=1M count=512#/> sudo mkfs.ext4 -T news /srv/vdr/video/epgimages.img


    Und anschliessend montieren:


    Code
    #/> sudo mount -t ext4 -o loop /srv/vdr/video/epgimages.img /var/cache/vdr/epgimages


    Wenn hier dann die Inodes ausgehen, ist Dein "/" eben nicht betroffen.


    Regards
    fnu

    HowTo: APT pinning

    Einmal editiert, zuletzt von fnu ()

  • Ich glaube noch nicht mal, dass es an den inodes hängt, die Platte ist einfach komplett vollgelaufen:

    Code
    Sep 29 20:02:04 vdr vdr: [3834] low disk space (0 MB, limit is 512 MB)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • die Platte ist einfach komplett vollgelaufen:

    Hmm ja, mickrige 512MB, ich hoffe das ist nicht "/" ... :rolleyes: ... könnte tatsächlich eines der "tmpfs" sein ...


    Und ist ja nicht so das man schon gefragt hatte:

    Hatte schon so was vermutet, das ist (D)ein Problem, mußt Du jetzt mal klären, Schreibrechte, Platz ... ?


    Und trotzdem, wiederhole ich meine Empfehlung, das epgimages Verzeichnis auszulagern ...


    Regards
    fnu

    HowTo: APT pinning

  • Ich denke das ist die die Partition, auf der das Aufnahmeverzeichnis liegt. Die Meldung kommt aus recorder.c: http://projects.vdr-developer.…r.git/tree/recorder.c#n77 und MINFREEDISKSPACE ist dort ebenfalls definiert: http://projects.vdr-developer.…r.git/tree/recorder.c#n19


    Aber am besten wäre es mal nachzusehen wie es tatsächlich aussieht:

    Code
    df -h
    df -i
    ps aux | grep vdr

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Ich denke das ist die die Partition, auf der das Aufnahmeverzeichnis liegt.

    512MB?


    Dann hätte er aber einen dicken Wurm drin ... ^^ ... so ganz ausschließen möchte ich die Nummer mit den Inodes daher nicht ...


    Regards
    fnu

    HowTo: APT pinning

  • Ich winke mal mit dem Zaunpfahl, um die Herkunft der 512 MB zu klären :whistling:

    Code
    [...]
    #define MINFREEDISKSPACE    (512) // MB
    [...]
        int Free = FreeDiskSpaceMB(fileName->Name());
    [...]
            dsyslog("low disk space (%d MB, limit is %d MB)", Free, MINFREEDISKSPACE);

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • Ok, verstanden es wird das Limit angemahnt was min. frei bleiben muß. Wenn bei ihm "0MB" frei sind wird es natürlich schwierig mit der "epg.db".


    Aber ob ein Filesystem auf dem VDR voll ist, sieht man doch eigentlich, oder? Ist ja nicht so, das ich das auch schon angesprochen hatte:


    Im Groben, "xmltv2vdr" legt generell die "epg.db" im VDR Video Verzeichnis ab, kann man aber auch als Start-Parameter im Plugin definieren. Früher "/var/lib/video.00" heute eher "/srv/vdr/video.00".


    Regards
    fnu

    HowTo: APT pinning

  • Ich denke, ich habs gefunden. Ich hab ein Skript geschrieben, dass Dateien aus dem Mülleimer nach X Tagen löscht.

    Code
    cd /video/trash/
    find  -name '*' -mtime +21 -exec rm -rf {} \;


    Das scheint Probleme gemacht zu haben. Ich hab die entsprechenden Zeilen jetzt mal rauskommentiert, und es läuft.

    HW: Asus A8N-SLI Premium | Athlon 64 3700+ | Hauppauge WinTV Nova-HD-S2 | 1Gb Kingston RAM |


    SW: Ubuntu 12.04 | VDR 2.0.2 | NVIDIA Treiber | xine-lib-1.2 | Xineliboutput Plugin (1.0.90-cvs) | Live Plugin (0.3.0) | xmltv2vdr (0.2.0pre) | scheduler-Plugin (0.1.6) | epgsearch-Plugin (1.0.1.beta5) | markad-Plugin (0.1.5pre ) | extrecmenu (1.2.2)

  • Gerdchen03


    Die "storage" Lage der "epg.db" kannst Du per Startparameter am Plugin definieren, evtl. nimmst Du diese ja auch aus "der Schußlinie". Bei mir wurde die noch nie größere als 50MB ...


    Regards
    fnu

    HowTo: APT pinning

  • Hab den Pfad der epg.data geändert, jetzt geht alles

    HW: Asus A8N-SLI Premium | Athlon 64 3700+ | Hauppauge WinTV Nova-HD-S2 | 1Gb Kingston RAM |


    SW: Ubuntu 12.04 | VDR 2.0.2 | NVIDIA Treiber | xine-lib-1.2 | Xineliboutput Plugin (1.0.90-cvs) | Live Plugin (0.3.0) | xmltv2vdr (0.2.0pre) | scheduler-Plugin (0.1.6) | epgsearch-Plugin (1.0.1.beta5) | markad-Plugin (0.1.5pre ) | extrecmenu (1.2.2)

  • Hab den Pfad der epg.data geändert, jetzt geht alles

    "epg.data" ist aber die EPG Datei vom VDR selbst, diese liegt liegt in der Regel schon in "/var/cache/vdr/".


    Oder hast Du Dich nur verschrieben, weil ein paar Posts weiter oben hast Du den passenden syslog Ausschnitt gepostet: "epg.db"


    Regards
    fnu

    HowTo: APT pinning

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!