Drei gleichzeitige HD Aufnahmen / ERROR: 1 ring buffer overflow

  • Hallo,


    Wenn ich drei HD-Aufnahmen starte, kommt es nach kurzer Zeit zu einer Vollauslastung des Prozessors.
    Im Log tauchen folgende Fehlermeldungen dazu auf:


    Code
    ERROR: 52067 ring buffer overflows (9788596 bytes dropped)


    In einem Thread aus dem vergangenen Jahr konnte 'Painkilla' das durch Änderung an den defines in dvbplayer.c und recorder.c beheben:

    Code
    #define RECORDERBUFSIZE MEGABYTE(100)
    #define PLAYERBUFSIZE MEGABYTE(50)


    yaVDR 0.5 headless / ARD & ZDF HD Aufnahmen / ERROR: 1 ring buffer overflow



    Bei mir hilft die Verdoppelung der Standardwerte bereits. Nur wenige Male kam es noch zu der Fehlermeldung und die CPU-Last bleibt niedrig.



    Wie sollte man die Defines berechnen?

    Mein VDR
    vdr4arch mit softhddevice, VDR-2.2.0; KODI Mainboard: MSI 785GM-E51, CPU: iAMD Athlon II, GPU: GeForce GTX 550 Ti; nvidia:364.19, DVB1-2: DD Cine S2; DVB3-4: DD DuoFlex S2;, RAM: 1*2G DDR3, AV-Receiver Pioneer VSX-923K

  • Hallo Hitman47,


    Ja das Stimmt. Durch die Anpassung der Werte setzt du den Puffer höher und es kommt bei mir dadurch nicht mehr so oft zu ausfällen. Ich habe aber immer noch das Problem, Wenn ich so ca 20 Aufnahmen gleichzeitig habe, dass ich starke Artefakte und/oder abstürtze/neustarts habe.
    Wo hier das Problem liegt weiß ich nicht. Es ist nur so, dass Irgend eine Instanz zu langsam ist, und die eintreffenden Daten nicht schneller bearbeiten kann als sie produziert werden.


    vielleicht kommen wir gemeinsam zu einer Lösung.


    Hast du nur eine TV-Karte? und das ist quasi ohne Server/Client modell.. zumindest sehe ich das so in deiner Signatur.
    EDIT:
    die Defines sind für 8 DVB-Eingänge ausgelegt.



    lg Painkilla

    Server:
    1x TBS 6984 Quad DVB-S2
    1x TBS 6985 Quad DVB-S2
    VDR 2.0.6
    remotetimers,streamdev
    Client:
    VDR 2.1.6
    softhddevice,remotetimers,epgsync,svdrpsend,streamdev

  • Danke für deine Antwort.


    Ich habe meine Signatur angepasst. Es sind vier Satellitentuner. Bei zwei HD-Aufnahmen kommen noch keine Fehlermeldungen mit der dritten geht es dann los.


    Man könnte die defines für die Puffer vielleicht zur Laufzeit dynamisch berechnen lassen.

    Mein VDR
    vdr4arch mit softhddevice, VDR-2.2.0; KODI Mainboard: MSI 785GM-E51, CPU: iAMD Athlon II, GPU: GeForce GTX 550 Ti; nvidia:364.19, DVB1-2: DD Cine S2; DVB3-4: DD DuoFlex S2;, RAM: 1*2G DDR3, AV-Receiver Pioneer VSX-923K

  • Wenn ich so ca 20 Aufnahmen gleichzeitig habe, dass ich starke Artefakte und/oder abstürtze/neustarts habe.

    Naja, das kann ja nun vieles andere auch sein.


    Z.B. die Computing Power des Rechners, mein BayTrail D1800M ist bei mehr als 12 parallelen Aufnahmen komplett ausgelastet, ohne markad. Mit markad komme ich kaum auf 8 Aufnahmen. Aber alle Aufnahmen sind dann fehlerfrei. Ist die HDD leistungsfähig genug für derart viele parallele Echtzeitzugriffe, FileSystem oder wird gar auf NFS geschrieben, was immer gut Latenzprobleme ist. Kleinere Probleme in der SAT Verkabelung, die eben erst durch die Aufnahmen im Hintergrund sichtbar werden ...


    Beim VDR Betrieb dieser Art würde auch mal einen LowLatency Kernel testen, damit die Zeitscheiben Fenster für die einzelnen Prozesse kleiner werden.


    Regards
    fnu

    HowTo: APT pinning

  • also hier mein System:

    Code
    uname -a
    Linux linux-jde2 3.11.10-7-desktop #1 SMP PREEMPT Mon Feb 3 09:41:24 UTC 2014 (750023e) x86_64 x86_64 x86_64 GNU/Linux


    openSUSE 13.1 64-bit


    RAM:

    Code
    free
                 total       used       free     shared    buffers     cached
    Mem:       7674500    4790672    2883828      14068     129700     471900
    -/+ buffers/cache:    4189072    3485428
    Swap:            0          0          0


    CPU:


    Festplatte:

    Code
    hdparm -tT /dev/mapper/Datenspeicher-video
    
    
    /dev/mapper/Datenspeicher-video:
     Timing cached reads:   6212 MB in  2.00 seconds = 3107.10 MB/sec
     Timing buffered disk reads: 332 MB in  3.01 seconds = 110.44 MB/sec


    Derzeit laufende Aufnahmen:


    Code
    top
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                         
      703 server    20   0 6353608 3,624g   6288 S 101,5 49,52  40:05.31 vdr


    vdr Auslastung liegt bei 101%


    marked ist auch aktiv, nur eine Aufnahme nach Aufzeichnungen durchführen


    im Hintergrund rennt noch asterisk und ein nfs


    Fazit:
    Aufnahmen von der 6984 laufen ohne Artefakte bei der 6985 ruckelts gewaltet.


    fnu welchen Kernel meinst du?


    was meinen die Profis?
    Was soll ich noch testen, um feststellen können woher das Ruckeln kommt?
    Ist vlt der CPU zu schwach?


    lg Painkilla

    Server:
    1x TBS 6984 Quad DVB-S2
    1x TBS 6985 Quad DVB-S2
    VDR 2.0.6
    remotetimers,streamdev
    Client:
    VDR 2.1.6
    softhddevice,remotetimers,epgsync,svdrpsend,streamdev

    Einmal editiert, zuletzt von Painkilla ()

  • Zeig mal ein Screenshot von "htop" und mach das alles nochmal ohne markad.


    Kernel mit RealTime oder LowLatency Extensions.


    Regards
    fnu

    HowTo: APT pinning

  • ohne markad



    Ich hab jetzt den Treiber aktualisiert. scheinbar sind viele Artefakte von der neueren 6985 weg.


    EDIT: Alle Artefakte sind weg.
    Ich probiere jetzt sogar markad aktivieren
    Mit markad aktiviert kommen die Artefakte wieder. Markad frisst einfach zu viel. Ich schau nochmal wie ich die prio reduzieren.



    Server:
    1x TBS 6984 Quad DVB-S2
    1x TBS 6985 Quad DVB-S2
    VDR 2.0.6
    remotetimers,streamdev
    Client:
    VDR 2.1.6
    softhddevice,remotetimers,epgsync,svdrpsend,streamdev

    3 Mal editiert, zuletzt von Painkilla ()

  • @mreimer


    Wenn Du den Thread lesen würdest, hättest Du gesehen woher das kommt, Painkilla hat den Thread nicht eröffnet, sondern sich dran gehängt ...


    Wenn ich so ca 20 Aufnahmen gleichzeitig habe, dass ich starke Artefakte

    ===

    Mit markad aktiviert kommen die Artefakte wieder.

    Genau das hatte ich schon vermutet, weil ich markad bei solchen Belastungstest immer ausschalte. markad online ist für eine derartige Parallelisierung vmtl. nicht ausgelegt. Da konkurieren 20 markad Prozesse um Zugriff auf das Dateisystem wohin die 20 Aufnahmen gestreamt werden, markad frisst zuviel ist die falsche Schlußfolgerung.


    Ich weiß nicht wie praxisnah und realistisch 20 parallele Aufnahmen bei 8 Tunern sind, ist IMHO eher jammern auf ziemlich hohem Niveau. Aber wenn das für Dich ein realistisches Nutzungsbild ist, würde ich empfehlen auf markad online zu verzichten und das für jede Aufnahme nachträglich offline laufen zu lassen.


    3 parallele Aufnahmen sollten btw. für einen VDR basierend auf normaler PC Hardware kein Problem darstellen. Ein etwaige Erhöhung der irgendwelcher Buffer kaschiert IMHO nur das eigentliche Problem.


    Regards
    fnu

    HowTo: APT pinning

  • Danke fnu für die Antworten.


    Es ist tatsächlich die Festplattenauslastung gewesen.
    Das Problem hierbei war, dass ich btrfs als Dateisystem einsetze. Das ist beim Löschen von Dateien sehr langsam.
    Der VDR versuchte bei neuen Aufzeichnungen auf der vollen Platte alte Dateien zu löschen, wodurch es zu der hohen Auslastung gekommen ist.


    Nun stellen auch mehr als zehn Aufzeichnungen gleichzeitig mit den Standardpufferwerten kein Problem dar.

    Mein VDR
    vdr4arch mit softhddevice, VDR-2.2.0; KODI Mainboard: MSI 785GM-E51, CPU: iAMD Athlon II, GPU: GeForce GTX 550 Ti; nvidia:364.19, DVB1-2: DD Cine S2; DVB3-4: DD DuoFlex S2;, RAM: 1*2G DDR3, AV-Receiver Pioneer VSX-923K

  • fnu


    Danke für die Antwort.
    Ich habe markad auf nachher und nur EINE Aufnahme darf bearbeitet werden. Würde hier eine schnellere Platte, bzw RAID helfen?


    lg Painkilla

    Server:
    1x TBS 6984 Quad DVB-S2
    1x TBS 6985 Quad DVB-S2
    VDR 2.0.6
    remotetimers,streamdev
    Client:
    VDR 2.1.6
    softhddevice,remotetimers,epgsync,svdrpsend,streamdev

  • Vermutlich nur sowas wie eine SSD mit ordentlich IOPs.
    Das sind ja konkurrierende Zugriffe, da hilft keine schnellere Datenübertragungsrate.


    Lars.

  • Das sind ja konkurrierende Zugriffe


    Dabei hilft ein RAID aber schon, eine SSD ist natürlich vorzuziehen.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Also ist das primäre Problem, dass markad zu oft auf die Platte zugreift. Auch die Prozesse, welche eigentlich schlafen sollten. Auch der zugriff auf die CPU ist zu viel.
    kann durch Anpassung des codes das irgendwie optimiert werden?


    Ich hab zwar C auf der Uni gelernt, aber bei C++ steig ich aus.
    Ist der Maintainer hier aktiv?


    lg Painkilla

    Server:
    1x TBS 6984 Quad DVB-S2
    1x TBS 6985 Quad DVB-S2
    VDR 2.0.6
    remotetimers,streamdev
    Client:
    VDR 2.1.6
    softhddevice,remotetimers,epgsync,svdrpsend,streamdev

  • MarkAd ist jetzt ausgeschaltet, jedoch kommen die Artefakte dennoch!
    Scheinbar liegt das Problem nicht nur bei MarkAd.



    Aktuell laufen "nur" 5 Aufnahmen. Das muss die Festplatte locker schaffen. Auf der Festplatte ist auch noch über 1TB frei.
    Manche Kanäle bleiben komplett schwarz, andere sind total voll mit Artefakten.
    Die CPU ist aber gar nicht stark ausgelastet. Mir scheint es als ob die TV Karte falsche oder schlechtes Bildmaterial liefert.



    hier die femon ausgabe:



    Ich finde es eigenartig, dass bei der TBS6985 die BER der ersten Sample recht hoch sind.


    Was soll ich noch testen??

    Server:
    1x TBS 6984 Quad DVB-S2
    1x TBS 6985 Quad DVB-S2
    VDR 2.0.6
    remotetimers,streamdev
    Client:
    VDR 2.1.6
    softhddevice,remotetimers,epgsync,svdrpsend,streamdev

  • Der einzig wichtige Wert ist unc. Wenn da was steht, kann ein Fehler nicht korrigiert werden.
    Möglich wäre auch noch, das irgendwas im Treiber bei so vielen Tuner falsch läuft, ist aber schwer zu sagen.


    50% Last des vdr hab ich auch noch nie gesehen. Sind sonst noch Plugins aktiv? Einfach mal alles abschalten, was man nicht braucht und einzeln aktivieren, bis es nicht mehr klappt.


    Lars

  • Vermutlich nur sowas wie eine SSD mit ordentlich IOPs.

    Ja, IOPS ist hier das richtige Stichwort, eine aktuelle handelsübliche HDD kann eigentlich genug durchsetzen um eine große Zahl an Aufnahmen parallel zu streamen. Rechnen wir mal im Schnitt 10Mbit/s pro Aufnahme, was 1,25MByte/s entspricht und dann in Summe bei 20 Aufnahmen ca. 25Mbyte/s bedeutet. Je nach IO Blockgröße sollte das eigentlich kein Problem sein, könnte es aber dann doch. Hilfreich ist hier das Tool "atop", welches sehr gut die Auslastung der HDD anzeigt.


    Dabei hilft ein RAID aber schon, eine SSD ist natürlich vorzuziehen.

    Nun, Raid erhöht die IOPS nicht dramatisch, eine HDD wie wir sie kaufen kann ~100 IOPS, im RAID5 Verbund mit 4 HDDs werden da auch "nur" 400 IOPS draus, bei 2 HDD im RAID1 gar nur 200.


    Jede SSD kann min. 10x mehr IOPS umsetzen als unsere HDDs, als min. 1000 IOPS, aktuelle für uns käufliche Top Modelle gar 20.000-40.000 IOPS. Das ist der eigentliche Grund warum SSDs so viel schneller sind, nicht die max. Durchsatzrate in MB/s, welche aber auch um den Faktor 4 höher ist ...


    Und dann darf man einfach auch nicht das Dateisystem vergessen, das Falsche oder falsch konfiguriert könnte uns die ganze schöne HW Performance kaputt machen. Ideal sind für VDR Aufnahmen Dateisysteme, die sehr gut mit großen Container umgehen können. Ich selbst klebe seit viele Jahren an XFS, weil das im Ursprung von SGI als 64bit Dateissystem entwickelt wurde für Video-Anwendung. In den 1990er Jahren lief alles was Animation im Filmgeschäft war über SGI Workstations.


    Und sicher sollte man auch prüfen ob auf Empfangseite, z.B. Verkabelung etc. alles gut ist.


    Regards
    fnu

    HowTo: APT pinning

    4 Mal editiert, zuletzt von fnu ()

  • mini73
    Bist du dir sicher, dass die Karten OK sind?
    Irgendwie hab ich hier meine zweifel.


    50% sind bei 5 HD Aufnahmen normal. bei 17 gehts sogar bis 100%


    Plugins aktiv
    streamdev
    devstatus
    epgsearch
    svdrposd


    fnu
    Gut ich teste morgen in meinem Standpc. Da kann ich dann Mainboard, CPU, RAM, northbridge und HDD austauschen. In meinem Standpc ist eine SSD
    und wenn das auch nix hilft greif ich noch zu windows mit dreamdvb. wenn dann auch nix ist, ist die karte im kanal.....


    lg Painkilla

    Server:
    1x TBS 6984 Quad DVB-S2
    1x TBS 6985 Quad DVB-S2
    VDR 2.0.6
    remotetimers,streamdev
    Client:
    VDR 2.1.6
    softhddevice,remotetimers,epgsync,svdrpsend,streamdev

  • Also ich hab jetzt folgendes gemacht:
    Kathrein Multiswitch geerdet! -> artefakte
    Karten unter windows mit dvbviewer getestet -> artefakte
    Dann die TV-Karten in meinen standpc eingebaut. und 20 Aufnahmen ca 4 Stunden laufen lassen.
    Resultat: Alle recht ok, bis auf die Aufnahmen von einem Eingang.


    femon sagt die TV-Karte ist in Ordnung, jedoch kommt nichts am schirm raus.
    Ich geh einmal stark davon aus, dass die Karte kaputt ist.


    Die Eingänge der Karten scheinen sporatisch zu funktionieren und nicht.


    Ich such mir mal eine neue TV-Karte

    Server:
    1x TBS 6984 Quad DVB-S2
    1x TBS 6985 Quad DVB-S2
    VDR 2.0.6
    remotetimers,streamdev
    Client:
    VDR 2.1.6
    softhddevice,remotetimers,epgsync,svdrpsend,streamdev

Jetzt mitmachen!

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