Programm immer im Arbeitsspeicher geladen?

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
willy4711

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von willy4711 » 04.07.2021 12:48:05

Für den VLC (aus dem Repo) brauchst du keinerlei Zusatz- Programme.
Du kannst 25 Videos (wenn's beliebt :wink: ) aus dem Dateimanager starten und hast dann 25 Icons im Systemtray.
Jedes kannst du separat steuern.

Benutzeravatar
desputin
Beiträge: 1269
Registriert: 24.04.2015 17:16:34

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von desputin » 04.07.2021 14:40:41

ich habe hier stable, nicht testing. VLC in stable hat mir zu viel Probleme gemacht (Abstürze im Hintergrund), daher die Lösung mit Appimage. aber stimmt, ich kann vlc minimiert starten lassen, aber wenn ich dann für jedes Video eine neue Instanz öffne, dann kommt jedes Mal ein kleines Icon unten hinzu, fürchte ich, daher wäre es besser, wenn ich VLC dann immer schließen könnte (und es trotzdem im Arbeitsspeicher bleibt)
Wenn VLC per Autostart in den Arbeitsspeicher geladen wird und dann dort die ganze Session über aktiv bleibt, dann würde das den VLC-Programmstart bei jedem Aufruf sicherlich beschleunigen, aber das geht anscheinend nicht. Ich hab das mit dem /media/ramdisk noch nicht so ganz verstanden, fürchte ich.
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von MSfree » 04.07.2021 14:57:55

Ein Programm, das läuft,ist im Arbeitsspeicher.
Ein Programm, das beendet wurde, ist nicht mehr im Arbeitsspeicher.
Zustände dazwischen gibt es nicht, dein Vorhaben ist also technisch gar nicht möglich.
desputin hat geschrieben: ↑ zum Beitrag ↑
04.07.2021 14:40:41
Wenn VLC per Autostart in den Arbeitsspeicher geladen wird und dann dort die ganze Session über aktiv bleibt, dann würde das den VLC-Programmstart bei jedem Aufruf sicherlich beschleunigen
Erkennst du den Widerspruch?

Wenn du es per Autostart startest ist es bereits gestartet, ein "VLC-Programmstart bei jedem Aufruf" würde nur eine weitere Programminstanz starten und mit jedem Start einen neuen Prozeß erzeugen, RAM belegen und die per Autostart gestartete Instanz schlicht ignorieren.

Ja, jeder neue Start geht dann etwas schneller, das liegt aber daran, daß VLC zusätzlich zum Laden in den Hauptspeicher auch noch vom Kernel gecacht wird. Das ist aber ein normaler Effekt und Sinn des Caches. Erster Start dauert lange, zweiter und weitere Starts gehen schnell, zumindest solange kein weiterer Prozeß viel RAM braucht und gecachte Teile verdrängt.

Bei mir startet VLC übrigens von SSD in ca. 0.5s, auch beim ersten Mal.

Benutzeravatar
desputin
Beiträge: 1269
Registriert: 24.04.2015 17:16:34

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von desputin » 04.07.2021 15:22:55

Bei mir startet VLC übrigens von SSD in ca. 0.5s, auch beim ersten Mal.
Das Appimage? Also ich hab irgendso eine ältere EVo hier, aber auch noch mit SATA.


Bild
[gnome-disks]
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

JTH
Moderator
Beiträge: 3007
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von JTH » 04.07.2021 15:27:11

Ein potentiell interessantes Thema :)

Die erste Frage wäre, was du tatsächlich erreichen willst. Soll das Programm (VLC) wirklich immer laufen oder soll sein Programmcode nur (möglichst) immer im RAM liegen. Das wäre ein Unterschied.

Bei ersterem hängt eine Lösung vom Programm ab. Zum VLC kamen ja schon ein paar Vorschläge.
desputin hat geschrieben: ↑ zum Beitrag ↑
04.07.2021 14:40:41
aber stimmt, ich kann vlc minimiert starten lassen, aber wenn ich dann für jedes Video eine neue Instanz öffne, dann kommt jedes Mal ein kleines Icon unten hinzu
Man kann beim VLC einstellen, dass er nur exakt eine Instanz öffnet. Und neu geöffnete Medien in dieser einen Instanz gestartet oder eingereiht werden.

Bei zweiterem – Programmcode soll immer im RAM liegen – würde ich mir auf einem Desktopsystem den Aufwand nicht machen. (Nachtrag: Ah, MSfree war zwischendurch schneller.) Gerade bei einem, wie du schreibst, relativ großen RAM. Das Betriebssystem hält von Festplatten gelesene Daten und Programme sowieso in einem Cache vor. Gerade wenn ein Programm häufig benutzt wird, kannst du relativ sicher sein, dass seine Bestandteile und gelinkte Bibliotheken schon im Cache – im RAM – liegen. Ob das der Fall ist kann man herausfinden:

Code: Alles auswählen

~$ fincore Pfad/zum/AppImage
RES PAGES  SIZE FILE
 0B     0 43,4M Pfad/zum/AppImage
Bei 0 Pages liegt es noch nicht im Cache, müsste von der Festplatte gelesen werden.

Ich nehme mal an, dass ein AppImage an der Stelle für Caching sogar eher sehr ungünstig ist, da es eigene Bibliotheken enthält und nicht systemweite, schon gecachte, wiederverwendet. (Oder? Korrigiert mich ;) )

Ich fands an der Stelle interessant, dass bei mir anscheinend das gesamte /bin und /sbin (mit Debianusrmerge) gecacht sind:

Code: Alles auswählen

~$ vmtouch -f /bin /sbin
           Files: 4099
     Directories: 2
  Resident Pages: 476824/476824  1G/1G  100%
         Elapsed: 0.024976 seconds
Deutet auch darauf hin, dass ein erzwungenes Caching eher unnötig ist.

Wenn du dir doch die Arbeit machen möchtest: Mit Debianvmtouch kann man anscheinend sicherstellen, dass Dateien oder der ganze Inhalt von Ordnern im Cache liegen:

Code: Alles auswählen

~$ vmtouch -lt Pfad/zum/AppImage
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
desputin
Beiträge: 1269
Registriert: 24.04.2015 17:16:34

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von desputin » 05.07.2021 14:18:40

Hallo JTH,
ja spannend. Danke. Ich habe das hier pobiert, aber kriege diese Fehlermeldung:

Code: Alles auswählen

vmtouch -lt /home/desputin/programme/vlc.AppImage
vmtouch: FATAL: mlock: /home/desputin/programme/vlc.AppImage (Cannot allocate memory)
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Benutzeravatar
MSfree
Beiträge: 10657
Registriert: 25.09.2007 19:59:30

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von MSfree » 05.07.2021 15:04:44

desputin hat geschrieben: ↑ zum Beitrag ↑
04.07.2021 15:22:55
Das Appimage?
Im Gegensatz zu deinem Rechner funktioniert bei mir VLC aus dem Debianrepository unter Jessie, Stretch, Buster und Bullseye mit CPUs vom Pentium-M über Intel Atom, Core2, Baytrail-Atom, bis zur 8. Generation Core-i jeweils mit Intel Onboard Graphik völlig reibungslos.

Benutzeravatar
desputin
Beiträge: 1269
Registriert: 24.04.2015 17:16:34

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von desputin » 05.07.2021 15:21:12

Hallo MSfree,
hm, es scheint aber mehrere Leute zu geben, die von diesen Hintergrund-Abstürzen berichten: Siehe hier:
viewtopic.php?f=29&t=176405
https://www.daswirdmanjawohlnochsagenduerfen.de
https://www.neoliberalyse.de - Über die Ökonomisierung aller Lebensbereiche. |

Benutzeravatar
king-crash
Beiträge: 720
Registriert: 08.08.2006 12:07:56
Lizenz eigener Beiträge: MIT Lizenz

Re: Programm immer im Arbeitsspeicher geladen?

Beitrag von king-crash » 07.07.2021 00:07:51

Mit mlock wird das hier gemeint sein: https://man7.org/linux/man-pages/man2/mlock.2.html
Eventuell ist RLIMIT_MEMLOCK das Problem, was vermutlich mit "ulimit -l" angehoben werden kann.

Antworten