Toutes les distributions GNU / Linux que j'ai testées jusqu'à présent ont le problème que chaque fois que le ram est rempli et que le système commence à changer, l'interface utilisateur graphique et de bureau entière ne répond plus comme un enfer au point que parfois je dois attendre environ 5 à 10 secondes après avoir déplacé la souris physique jusqu'à ce que le pointeur de la souris se déplace réellement.
C'est une sorte de comportement gênant, en particulier sur les systèmes à faible ram.
Existe-t-il un moyen de donner à certaines applications / tâches, comme l'environnement de bureau, etc., une priorité plus élevée de rester dans la mémoire RAM que d'autres applications, de sorte que l'application monopolisant toute la mémoire soit permutée avant l'environnement de bureau, etc.?
EDIT: Je parle du cas où toute la RAM est utilisée, donc elle commencera toujours à s'échanger si elle n'est pas désactivée (je ne veux pas que les processus soient tués de manière aléatoire). J'ai eu ce problème non seulement dans les environnements à faible RAM, mais aussi avec 8 Go de RAM sur ma machine de bureau, en partie à cause de nombreuses machines virtuelles, en partie à cause d'une fuite de mémoire. ZRAM n'est pas non plus une solution car il ne fait que retarder le problème. La seule solution à laquelle je peux penser pour ce problème est un utilitaire d'espace utilisateur ou une API de noyau qui permet d'empêcher que certains travaux soient échangés ou du moins le rendent très improbable. Quelqu'un connaît-il une autre solution ou sait-il qu'un tel outil ou une telle API existe ou est prévu?
2e EDIT: ulatencyd ne semble pas fonctionner avec les nouvelles versions de systemd, selon https://aur.archlinux.org/packages/ulatencyd-git/ et https://wiki.archlinux.org/index.php/Ulatencyd . Cela peut être dû au fait que systemd a pris le contrôle total des cgroups du point de vue de l'espace utilisateur si je comprends bien.
cgroup_enable=memory swapaccount=1
sur la ligne de commande du noyau; notez que cela a un coût de performance mineur). Exemple d'implémentation: ulatencyd .