Alle GNU / Linux-Distributionen, die ich bisher getestet habe, haben das Problem, dass jedes Mal, wenn der RAM voll ist und das System zu tauschen beginnt, der gesamte Desktop und die grafische Benutzeroberfläche so schnell nicht mehr reagieren, dass ich manchmal etwa 5-10 Sekunden warten muss die physische Maus bewegt haben, bis sich der Mauszeiger tatsächlich bewegt.
Dies ist eine Art ärgerliches Verhalten, insbesondere bei Systemen mit niedrigem RAM.
Gibt es eine Möglichkeit, einigen Anwendungen / Jobs, wie der Desktop-Umgebung usw., eine höhere Priorität als anderen Anwendungen zuzuweisen, damit die Anwendung, die den gesamten Speicher beansprucht, vor der Desktop-Umgebung usw. ausgetauscht wird?
BEARBEITEN: Ich spreche von dem Fall, dass der gesamte Arbeitsspeicher verwendet wird, sodass er immer ausgetauscht wird, wenn er nicht deaktiviert ist (ich möchte nicht, dass Prozesse zufällig abgebrochen werden). Ich hatte dieses Problem nicht nur in Umgebungen mit niedrigem RAM-Speicher, sondern auch mit 8 GB RAM auf meinem Desktop-Computer, teilweise aufgrund vieler VMs, teilweise aufgrund von Speicherverlusten. ZRAM ist auch keine Lösung, da es das Problem nur verzögert. Die einzige Lösung, die ich mir für dieses Problem vorstellen kann, ist ein Userspace-Dienstprogramm oder eine Kernel-API, mit der das Auslagern bestimmter Jobs verhindert oder zumindest sehr unwahrscheinlich gemacht werden kann. Kennt jemand eine andere Lösung oder weiß etwas über ein solches Tool oder eine solche API, die es gibt oder die geplant ist?
2. BEARBEITUNG : ulatencyd scheint laut https://aur.archlinux.org/packages/ulatencyd-git/ und https://wiki.archlinux.org/index.php/Ulatencyd nicht mit neueren Versionen von systemd zu funktionieren . Dies kann daran liegen, dass systemd die vollständige Kontrolle über cgroups aus Sicht des Userspace übernommen hat, wenn ich das richtig verstehe.
cgroup_enable=memory swapaccount=1
in der Kernel-Befehlszeile; beachten Sie, dass dies geringfügige Leistungskosten verursacht). Beispielimplementierung: ulatencyd .