Prozess auf Swap beschränken

Gibt es eine Möglichkeit zu entscheiden bzw. zu steuern, welche Prozesse in den Swap und welche in den physischen Arbeitsspeicher gehen?
Ich würde gerne einem etwas unwichtigeren Prozess Swap zu teilen um physischen Speicher für höhere Prioritäten zu haben.
 
Nein. Was ausgelagert wird und was nicht, entscheidet der Kernel anhand des Prozess-Zustands. Aktive Prozesse können nur partiell im Swap sein.
 
Aus Systemsicht erhöht das nur die Zugriffszeiten, da die Daten andauernd vom Swap in den RAM und zurück geschaufelt werden müssen. Es bringt allerdings keine signifikanten Vorteile, da das System nur noch am "swappen" ist.

Um den Arbeitsspeicher unter Last allerdings besser auszunutzen und das System "länger am Limit" laufen zu lassen, könntest du allerdings den Scheduler (nice) nutzen und gleichzeitig die swappiness (siehe https://www.kernel.org/doc/Documentation/sysctl/vm.txt) für alle Prozesse nach unten setzen. Das hätte die Auswirkung, dass das System länger wartet, bis es die Daten der niedrig-priorisierten in den Swap schaufelt und sie auch aufgrund der Priorisierung der Prozesse recht lange dort drin behält. Dadurch gewinnst du zwar keinen freien Speicher, jedoch erreichst du eine bessere Auslastung und geringere Swap-I/O für die kritischen Prozesse.
 
Zurück
Oben