whisper hat geschrieben: 04.01.2022 11:32:17
Programme, wie deins, aber auch scanner und Grafik Bearbeitungsprogramme müssen die zu bearbeitende Datei vollständig im RAM haben swap geht nicht
Das ist falsch. Aus Sicht einer Anwendung ist RAM und Swap das Selbe, die Anwedung weiß nämlich gar nichts davon, ob eine Speicherseite schon im Hauptspeicher ist oder noch auf der Festplatte dümpelt, es braucht die Anwendung auch nicht zu interessieren, darum kümmert sich der Kernel.
@buhtz
Es gibt aber Programme, die den zur Verfügung stehenden Hauptspeicher abfragen und dann nur soviel RAM nutzen, wie zum Programmstart zur Verfügung stand. Geswapt werden kann dann aber trotzdem.
Zusätzlich gibt es API-Aufrufe, mit denen man Speicherseiten im Hauptspeichern festmachen (locken) kann, so daß die gelockten Seiten nie geswapt werden. Hier kann man natürlich immer nur soviel locken, wie Speicher vorhanden ist, ausserdem gibt es meines Wissens ein Limit pro Prozeß. Anwendungen sollten aber nie davon gebraucht machen, den kompletten Speicher zu locken, denn das kann zum Aufhängen des Systems führen.
Bei Audiobearbeitung kann aber bei geswapten Speicherseiten das Problem entstehen, daß eine Sequenz abgespielt werden soll, die gerade geswapt ist. Das würde zwagsläufig zu einem Aussetzer führen, bis die nötigen Daten von der Platte aus dem Swapt gekratzt wurden. Und das wird auch der Grund sein, warum dein Programm nur soviel Speicher nutzt, wie zum Programmstart frei war, um eben das Swappen zu vermeiden.