[1] Archiv / MLD 3.x / Development / Tmpfs Für Livebuffer
 

Offline Torsten73

  • Expert Member
  • *****
  • Posts: 584
    • View Profile
Tmpfs Für Livebuffer
« on: November 20, 2011, 23:47:42 »
Hi,
bei meinen Versuchen einen tmpfs für den Livebuffer zu erstellen habe ich einige Probleme plötzlich, die es vorher nicht gab.

Eigentlich weiß ich wie das geht, aber momentan stolpere ich daran, dass ich immer unter mnt/tmpfs bereits ein tmpfs vorfinde. Wie kommt der da hin? Er ist nicht in der fstab definiert und trotzdem da und auch mit aktuellem Datum.
Code: [Select]
MLD> df
Filesystem           1K-blocks      Used Available Use% Mounted on
tmpfs                  1875408       420   1874988   0% /mnt/tmpfs
root                    969180    725252    194696  79% /
/dev/sda1               969180    725252    194696  79% /mnt/sda1
/dev/sda1               969180    725252    194696  79% /etc/addons
/dev/loop0                3840      3840         0 100% /var/spool/apm.mnt/av-libs
/dev/loop1                4480      4480         0 100% /var/spool/apm.mnt/fonts
/dev/loop2                 128       128         0 100% /var/spool/apm.mnt/acpi
/dev/loop3                1792      1792         0 100% /var/spool/apm.mnt/dvb-usb
/dev/loop4                1152      1152         0 100% /var/spool/apm.mnt/network
/dev/loop5                4992      4992         0 100% /var/spool/apm.mnt/network-drivers
/dev/loop6                 512       512         0 100% /var/spool/apm.mnt/sensors
/dev/loop7                9216      9216         0 100% /var/spool/apm.mnt/xorg
/dev/loop8                 768       768         0 100% /var/spool/apm.mnt/locales
/dev/loop9                1664      1664         0 100% /var/spool/apm.mnt/mc
/dev/loop10                128       128         0 100% /var/spool/apm.mnt/pango
/dev/loop11              14336     14336         0 100% /var/spool/apm.mnt/python
/dev/loop12                384       384         0 100% /var/spool/apm.mnt/smartmontools
/dev/loop13                256       256         0 100% /var/spool/apm.mnt/ssh
/dev/loop14               3584      3584         0 100% /var/spool/apm.mnt/text2skin-anthra-skins
/dev/loop15                128       128         0 100% /var/spool/apm.mnt/extrecmenu
/dev/loop16                128       128         0 100% /var/spool/apm.mnt/femon
/dev/loop17               2304      2304         0 100% /var/spool/apm.mnt/live
/dev/loop18                128       128         0 100% /var/spool/apm.mnt/markad
/dev/loop19                128       128         0 100% /var/spool/apm.mnt/setup
/dev/loop20                256       256         0 100% /var/spool/apm.mnt/skinenigmang
/dev/loop21                256       256         0 100% /var/spool/apm.mnt/streamdev-server
/dev/loop22                128       128         0 100% /var/spool/apm.mnt/svdrpservice
/dev/loop23               3200      3200         0 100% /var/spool/apm.mnt/text2skin
/dev/loop24                128       128         0 100% /var/spool/apm.mnt/undelete
/dev/loop25                768       768         0 100% /var/spool/apm.mnt/xineliboutput
/dev/loop26               1152      1152         0 100% /var/spool/apm.mnt/xinelib
/dev/loop27                256       256         0 100% /var/spool/apm.mnt/dvb-remote
/dev/loop28               3712      3712         0 100% /var/spool/apm.mnt/dvb
/dev/loop29                640       640         0 100% /var/spool/apm.mnt/epgsearch
/dev/loop30                128       128         0 100% /var/spool/apm.mnt/systeminfo
/dev/loop31               2176      2176         0 100% /var/spool/apm.mnt/vdr
/dev/loop32                128       128         0 100% /var/spool/apm.mnt/webserver
/dev/loop33              18304     18304         0 100% /var/spool/apm.mnt/firefox
/dev/loop34                128       128         0 100% /var/spool/apm.mnt/backup
/dev/loop35                128       128         0 100% /var/spool/apm.mnt/wakeup
/dev/loop36               3968      3968         0 100% /var/spool/apm.mnt/alsa
/dev/loop37              40192     40192         0 100% /var/spool/apm.mnt/xbmc
/dev/loop38              19584     19584         0 100% /var/spool/apm.mnt/xorg-nvidia
/dev/loop39                128       128         0 100% /var/spool/apm.mnt/usb
/dev/loop40                128       128         0 100% /var/spool/apm.mnt/inputlirc
/dev/loop41              16640     16640         0 100% /var/spool/apm.mnt/perl
/dev/loop42               8064      8064         0 100% /var/spool/apm.mnt/samba
/dev/loop43                384       384         0 100% /var/spool/apm.mnt/targavfd
/dev/loop44                128       128         0 100% /var/spool/apm.mnt/addons
/dev/loop45               1024      1024         0 100% /var/spool/apm.mnt/nano
/dev/loop46               1408      1408         0 100% /var/spool/apm.mnt/sc
/dev/loop47               2176      2176         0 100% /var/spool/apm.mnt/smbclient
/dev/sda2             38071260     61540  38009720   0% /mnt/sda2
/dev/sdb3            1882543580  43432516 1743483392   2% /mnt/sdb3
fstab (mit dem gewünschten tmpfs der aber nicht funktioniert und daher deaktiviert ist.)
Code: [Select]
proc        /proc           proc    defaults            0 0
devpts      /dev/pts        devpts  mode=0620,gid=5     0 0
sysfs       /sys            sysfs   defaults            0 0
usbfs       /proc/bus/usb   usbfs   defaults            0 0
/dev/dvd    /media/dvd      auto    ro,noauto           0 0
/dev/cdrom  /media/cdrom    auto    ro,noauto           0 0
/dev/sda2   /mnt/sda2       auto    defaults            0 2
/dev/sdb3   /mnt/sdb3       auto    defaults            0 2
#tmpfs       /mnt/sdb3/LiveBuffer   tmpfs       noatime, size=85%    0 0
« Last Edit: November 20, 2011, 23:51:03 by Torsten73 »
Gruß
Torsten

---------------------------------------------------------------------------------------------------------------------------------------------
System 1: Beebox N3150 MLD 5.3
System 2: Proxmox Ve mit OMV, MLD 5.1 Server
System 3+4: ITX Atom 525 Nvidia Ion MLD 5.1

Online clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20187
    • View Profile
    • ClausMuus.de
Tmpfs Für Livebuffer
« Reply #1 on: November 21, 2011, 00:50:57 »
Hi,

gibt's denn den Ordner /mnt/sdb3/LiveBuffer? wenn nicht musst Du den noch anlegen. Der erste Parameter (tmpfs) kann beim tmpfs Mount frei gewählt werden. Du solltest da etwas nehmen das noch nicht existiert, also z.B. "LiveBuffer" Das sieht dann so aus:
LiveBuffer    /mnt/sdb3/LiveBuffer   tmpfs       noatime, size=85%    0 0

Das /mnt/tmpfs ist das tmpfs in der z.B. der /tmp Ordner schreibt. Den gab's schon immer auf der MLD-3, auch wenn der nicht immer sichtbar war, und anfangs unter anderem Namen im Mount auftauchte.

Claus
« Last Edit: November 21, 2011, 00:51:42 by clausmuus »
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Torsten73

  • Expert Member
  • *****
  • Posts: 584
    • View Profile
Tmpfs Für Livebuffer
« Reply #2 on: November 23, 2011, 00:14:58 »
Seehr Strange das ganze  :wow:

Also den Livebufferpfad anpassen geht so:
Im WebIF unter VDR Aufruf Argumente eintragen " -b /mnt/sda2 -l 2"

Logl level muß als letztes stehen, sonst geht das nicht, der Pfad kann auch anders sein, darf aber nicht auf data sein, vermutlich weil nur symlinks dort sind.

Jetzt kommt es aber:
in der fstab lautet es richtig:
Code: [Select]
tmpfs     /mnt/sda2/LiveBuffer                tmpfs         noatime, size=85%            0  0
AAAABer beim Boot wird die fstab nicht beachtet?!? direkt nach dem Boot ist der tmpfs nicht vorhanden. Ich muß erst den vdr anhalten, danach ein mount -a (nun ist der tmpfs vorhanden) und den vdr neu starten und siehe da es ist wieder alles im tmpfs.
Aber das muß ich nicht verstehen??? Warum wird das beim Booten nicht auch gemacht. Ich habe es mehrmals probiert und es ist eindeutig reproduzierbar. Hat auch nicht mit dem LB zu tun, auch andere tmpfs Pfade werden ignoriert.

Hilfe  :wow:  :computertod Es gibt Sachen, die gibt es nicht ...
Gruß
Torsten

---------------------------------------------------------------------------------------------------------------------------------------------
System 1: Beebox N3150 MLD 5.3
System 2: Proxmox Ve mit OMV, MLD 5.1 Server
System 3+4: ITX Atom 525 Nvidia Ion MLD 5.1

Online clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20187
    • View Profile
    • ClausMuus.de
Tmpfs Für Livebuffer
« Reply #3 on: November 23, 2011, 12:50:35 »
Ne, das musst Du nicht verstehen, aber Morgen wird's mit der neuen initramfs korrigiert sein.
« Last Edit: November 23, 2011, 15:55:53 by clausmuus »
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Torsten73

  • Expert Member
  • *****
  • Posts: 584
    • View Profile
Tmpfs Für Livebuffer
« Reply #4 on: November 23, 2011, 15:05:02 »
Hallo Claus,
mann bist Du schnell :)) war das doch ein Fehler. Was es nicht alles gibt.

Ich werde auch gerne unter mnt/LiveBuffer den tmpfs anlegen.

Thx
Gruß
Torsten

---------------------------------------------------------------------------------------------------------------------------------------------
System 1: Beebox N3150 MLD 5.3
System 2: Proxmox Ve mit OMV, MLD 5.1 Server
System 3+4: ITX Atom 525 Nvidia Ion MLD 5.1

Online clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20187
    • View Profile
    • ClausMuus.de
Tmpfs Für Livebuffer
« Reply #5 on: November 23, 2011, 17:05:40 »
Ab Morgen kann man im Setup (Webif) auswählen ob und wohin der Livebuffer schreiben soll.
Der Eintrag in der fstab wird dann bei bedarf automatisch erstellt.

Claus
« Last Edit: November 23, 2011, 17:06:14 by clausmuus »
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Torsten73

  • Expert Member
  • *****
  • Posts: 584
    • View Profile
Tmpfs Für Livebuffer
« Reply #6 on: November 23, 2011, 23:01:34 »
Quote
Ab Morgen kann man im Setup (Webif) auswählen ob und wohin der Livebuffer schreiben soll.
Der Eintrag in der fstab wird dann bei bedarf automatisch erstellt.

Claus
Idealerweise ist die Größe des tmpfs auswählbar, kombiniert mir einer Einstelloption der setup.conf Werte vom LB ?

Ich bin gespannt und werde testen. Ist auf jeden Fall sehr praktisch im Webif. Danke
Gruß
Torsten

---------------------------------------------------------------------------------------------------------------------------------------------
System 1: Beebox N3150 MLD 5.3
System 2: Proxmox Ve mit OMV, MLD 5.1 Server
System 3+4: ITX Atom 525 Nvidia Ion MLD 5.1

Online clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20187
    • View Profile
    • ClausMuus.de
Tmpfs Für Livebuffer
« Reply #7 on: November 24, 2011, 10:42:24 »
Ich hab einfach Deine 85% des verfügbaren RAMs übernommen. Wer damit nicht zufrieden ist, muss halt die Konfigurationsdateien bearbeiten. Im Webif soll nicht jede Kleinigkeit einstellbar sein, sondern vor allem die typischen fälle Abdecken. Da habe ich mich bisher zwar nicht immer dran gehalten, aber das sollte ne grobe Richtlinie sein.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Torsten73

  • Expert Member
  • *****
  • Posts: 584
    • View Profile
Tmpfs Für Livebuffer
« Reply #8 on: November 24, 2011, 15:49:21 »
ok. Ich würde aber einen Hinweis dazuschreiben, dass keiner mit weniger als 4gbRam auf die Idee kommt das zu aktivieren, oder die Option wertet den zur verfügung stehenden Arbeitsspeicher aus.

Ich teste gerade nochmal mit 85% ob das überhaupt reicht. Ich werde berichten. Eine halbe Stunde Discovery HD mit einer Bitrate von durchgehend 19-20 Mbit sollte schon reinpassen.
Da kein Swap vorhanden ist muß sichergestellt sein, dass genügend Arbeitsspeicher übrig bleibt für den Rest.

So siehts mit 8GB Ram aus mit beendetem VDR und gelöschtem LB, FF + xterm:
Code: [Select]
            total         used         free       shared      buffers
Mem:       3750816       674676      3076140            0        75204
-/+ buffers:             599472      3151344
Swap:            0            0            0

df
...
livebuffer             3188196         0   3188196   0% /mnt/livebuffer
Damit würde bereits der RAM gesprengt, wenn der livebuffer voll laufen würde. Richtig?

aktuell mit vollem LB: nach 35min:
Code: [Select]
MLD> free
             total         used         free       shared      buffers
Mem:       3750816      3637636       113180            0        17060
-/+ buffers:            3620576       130240
Swap:            0            0            0
MLD> df | grep livebuffer
livebuffer             3188196   3188196         0 100% /mnt/livebuffer
gepasst hätten 24min. Ist zu erkennen an den erzeugten ts Dateien
« Last Edit: November 24, 2011, 16:51:59 by Torsten73 »
Gruß
Torsten

---------------------------------------------------------------------------------------------------------------------------------------------
System 1: Beebox N3150 MLD 5.3
System 2: Proxmox Ve mit OMV, MLD 5.1 Server
System 3+4: ITX Atom 525 Nvidia Ion MLD 5.1

Online clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20187
    • View Profile
    • ClausMuus.de
Tmpfs Für Livebuffer
« Reply #9 on: November 24, 2011, 18:33:20 »
Was passiert denn wenn das nicht passt. ist dann der livebuffer einfach ein wenig kürzer?
Das kannst Du ja bequem testen indem Du das auf 5% stellst.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Torsten73

  • Expert Member
  • *****
  • Posts: 584
    • View Profile
Tmpfs Für Livebuffer
« Reply #10 on: November 24, 2011, 20:55:27 »
Wenn der tmpfs voll ist, schmiert der lb thread ab. Folge ist, das nicht mehr aufgeräumt wird und der Speicher im tmpfs selbst beim Umschalten nicht wieder freigegeben wird.
Nach einiger Zeit schmiert dann auch manchmal der vdr ab.

Das hatte ich früher schon mal genauer ausgetestet und im vdr portal Thread gepostet.

Wenn der tmpfs zu groß ist und mehr belegen kann als Arbeitsspeicher da ist, kann dann es zu Speichermangel beim VDR oder anderen Aplikationen kommen, was ja logisch ist.

Bei 80% belegt der tmpfs max. 3000656 Ram, bei 3750816 bleiben also rund 750MB fürs System übrig. Das sollte eigentlich reichen, oder was meint Ihr?
Code: [Select]
MLD> free
             total         used         free       shared      buffers
Mem:       3750816      2622248      1128568            0        87200
-/+ buffers:            2535048      1215768
Swap:            0            0            0
MLD> df | grep livebuffer
livebuffer             3000656   1675408   1325248  56% /mnt/livebuffer
Gruß
Torsten

---------------------------------------------------------------------------------------------------------------------------------------------
System 1: Beebox N3150 MLD 5.3
System 2: Proxmox Ve mit OMV, MLD 5.1 Server
System 3+4: ITX Atom 525 Nvidia Ion MLD 5.1

Online clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20187
    • View Profile
    • ClausMuus.de
Tmpfs Für Livebuffer
« Reply #11 on: November 24, 2011, 22:30:32 »
solange nur der VDR läuft, würden auch 50MB reichen.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline skippy

  • MLD-Tester
  • Expert Member
  • ******
  • Posts: 2279
    • View Profile
Tmpfs Für Livebuffer
« Reply #12 on: November 25, 2011, 21:46:45 »
Hi Claus,

ich habe den Livebuffer bislang auf eine extra Partition mit dem Parameter:
Code: [Select]
--buffer=/mnt/sda2beim VDR-Aufruf gesetzt.

Im Webif kann ich jetzt zwischen RAM und HDD wählen. Kann ich darüber auch meine Einstellung abbilden oder soll ich es bei dem Parameter beim VDR-Aufruf belassen?

Viele Grüße
skippy
meine MLDs (show / hide)

Online clausmuus

  • Administrator
  • Expert Member
  • ********
  • Posts: 20187
    • View Profile
    • ClausMuus.de
Tmpfs Für Livebuffer
« Reply #13 on: November 26, 2011, 00:44:10 »
Ne, dadrüber lässt sich nichts individuelles einstellen. Das ist nur für die beiden typischen Konfigurations Möglichkeiten. Das macht nichts weiter als die VDR Konfiguration anzupassen und nen tmpfs zu mounten. Bleib Du also ruhig bei Deiner Konfiguration.

Claus
MLD 5.5 - Raspberry PI - 7" Touch TFT - Squeeze Play
MLD 5.5 - lirc yaUsbIR - OctopusNet - XFX GeForce 9300 mit Intel E3200 - 2GB RAM - 12TB HDD - Lian Li PC-C37B - Samsung LE40A559

Offline Torsten73

  • Expert Member
  • *****
  • Posts: 584
    • View Profile
Tmpfs Für Livebuffer
« Reply #14 on: November 26, 2011, 13:56:13 »
Quote
Hi Claus,

ich habe den Livebuffer bislang auf eine extra Partition mit dem Parameter:
Code: [Select]
--buffer=/mnt/sda2beim VDR-Aufruf gesetzt.

Im Webif kann ich jetzt zwischen RAM und HDD wählen. Kann ich darüber auch meine Einstellung abbilden oder soll ich es bei dem Parameter beim VDR-Aufruf belassen?

Viele Grüße
skippy
Wenn Du hdd wählst, wird der Pfad vom Livebuffer genau dahin gesetzt.

@claus,
ich würde trotzdem empfehlen bei Auswahl RAM ein Eingabefeld dazuzunehmen, wo die Größe vom tmpfs gesetzt werden kann. Das wäre doch bestimmt kein großer Aufwand, und damit sollte auch ein Anfänger was anfangen können. (z.b. LB darf max. XX% vom Arbeitsspeicher verwenden)
Und kaum mehr Arbeit wäre dann direkt dazu passend einen Livebuffersize Eintrag in der setup.conf einzustellen. (livebuffersize=tmpfsRamMax/8/20000) Damit sollte niemand sich mit aktivieren den VDR abschießen können, da 20000 die maximale Bitrate darstellt.
Alles nur Vorschläge ;)

Nun eine Einschränkung gibt es aktuell leider trotzdem noch, sollte jemand auf die Idee kommen länger in der Pause zu bleiben, als der livebuffersize ist, stürzt der LB Thread vom VDR trotzdem ab. Ist noch ein Bug...
Gruß
Torsten

---------------------------------------------------------------------------------------------------------------------------------------------
System 1: Beebox N3150 MLD 5.3
System 2: Proxmox Ve mit OMV, MLD 5.1 Server
System 3+4: ITX Atom 525 Nvidia Ion MLD 5.1

[1] Archiv / MLD 3.x / Development / Tmpfs Für Livebuffer
 



Users Online Users Online

0 Members and 1 Guest are viewing this topic.