Wie CPU Load von einzelnen Plugins ermitteln?

  • Das ist vermutlich schwierig, weil der vdr und die Plugins ein ganzes Bündel an Threads erstellen, die man nicht immer eindeutig zuordnen kann. Vor allem, weil auch Plugin-Code im Context eines vdr-Thread aufgerufen wird.


    Ich sag also mal: nein


    Lars

  • Keine Ahnung, was es für Performance Frameworks gibt, aber dann müsste man wahrscheinlich nicht nur den vdr, sondern auch alle relevanten Plugins patchen.


    Lars

  • Nun ja, mir geht es eigentlich darum:



    Wenn ich nach der "PID" von "receiver on dev" greppe, sehe ich:


    Code
    vdr01_64 ~ # grep 6381 /log/messages
    Oct 11 15:39:00 [vdr] [6381] receiver on device 1 thread started (pid=4589, tid=6381, prio=high)
    vdr01_64 ~ #


    Und das ist halt nicht sehr aussagekräftig.


    Mich würde halt interessieren, wer der CPU Eater ist.

  • Die receiver sind die Objekte, die Daten von den Devices empfangen und dann weiter verarbeiten, z.B. in eine Datei schreiben (recorder) oder ans Ausgabedevice weiterleiten (transfer). Du müsstest also mal durch die Plugins gucken, welche cReceiver-Objekte implementieren und dann rausfinden, welches es ist, evtl. auch durch Deaktivieren einzelner Plugins.


    Lars

  • Vermutlich nicht ganz das was du suchst, aber schau dir mal htop an.

  • Drück mal F5:
    [Blockierte Grafik: http://i.imgur.com/XNffOVq.png] Vielleicht reicht das ja schon.

  • Sieht im ersten Moment so aus, als ob da überall nur die Kommandozeile des vdr angezeigt wird, das hilft nicht.
    Plugins deaktivieren, bis es weg ist, ist vermutlich zielführender.


    Lars

  • Schau doch mal unter /proc/<vdr pid>/tasks/<thread id>/, ob Du was findest. Vielleicht ja das böse. "receiver on dev" find ich nur in device.c und im (alten) bösen Plugin.


    device.c

    Code
    SetDescription("receiver on device %d", CardIndex() + 1);

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • Ja dann kanns wohl nur ein Thread des VDR selbst sein, eben device.c. Ansonsten gibts nichts mit "receiver on dev", zumindest bei meinen Plugins.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • epgsearch kommt auch noch in Frage:


    Code
    vdr01_64 ~ # grep -r "receiver on device" /usr/local/src/vdr-2.1.6/* |grep -v Binärdatei
    /usr/local/src/vdr-2.1.6/PLUGINS/src/epgsearch-git/conflictcheck.h:               LogFile.Log(3, "Bonding ok, but detaches receiver on device %i.", CardIndex());
    /usr/local/src/vdr-2.1.6/device.c:  SetDescription("receiver on device %d", CardIndex() + 1);
    /usr/local/src/vdr-2.1.6/device.c.orig:  SetDescription("receiver on device %d", CardIndex() + 1);
    vdr01_64 ~ #
  • Da hilft nur Plugins deaktivieren und mal ohne testen.

    - Client1: Thermaltake DH 102 mit 7" TouchTFT * Debian Stretch/vdr-2.4.0/graphtft/MainMenuHooks-Patch * Zotac H55-ITX WiFi * Core i3 540 * 4GB RAM ** Zotac GT630 * 1 TB System HDD * 4 GB RAM * Harmony 900 * satip-Plugin

    - Client2: Alfawise H96 Pro Plus * KODI
    - Server: Intel Pentium G3220 * DH87RL * 16GB RAM * 4x4TB 3.5" WD RED + 1x500GB 2.5" * satip-Plugin
    - SAT>IP: Inverto iLNB

  • So wie es aussieht, scheint es am neuen Schlüsseldienst zu liegen, denn bei FTA sieht das so aus:


    Code
    PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
    15537 root      39  19 4462604 555432  57948 S  3,0  3,4   3:33.56 section handler
    15534 root      39  19 4462604 555432  57948 S  2,6  3,4   2:50.70 section handler
     2778 root      20   0       0      0      0 S  1,7  0,0   0:00.23 kworker/0:0
    17540 root      20   0 4462604 555432  57948 S  1,7  3,4   2:17.57 vdr
     2774 root      20   0 4462604 555432  57948 S  1,3  3,4   0:00.16 receiver on dev
     2420 root      20   0   24088   3428   2668 R  0,7  0,0   0:00.98 top
     ....


    Würde mich aber schon interessieren, ob das nur bei mir so ist?

  • Hallo,


    nimm htop und aktiviere in Setup [F2] die Option Show custom thread names. Nun noch mit [F5] die Tree View aktivieren.
    Dann hast du ein Bild wie in diesem Thread.


    Leider hat nicht jeder VDR Thread einen Custom Name. Wäre natürlich mal schön, wenn die Plugin-Programmierer dies nachpflegen würden.
    Wenn du also nicht weiterkommst hilft nur gdb. Wie, steht auch im angegebenen Thread.


    Tschüß Frank

  • nur leider hilft mir das nicht weiter, da ich das Ende der Zeilen nicht lesen kann.

    Man kann doch in htop mit den Pfeiltasten nach rechts scrollen

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

Jetzt mitmachen!

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