Parfois, je travaille avec d'énormes décharges de données que je souhaite conserver en mémoire pour le traitement. Parfois, je calcule mal la quantité de mémoire que mon programme va produire, ou un débogueur multiplie l'utilisation de la mémoire par un facteur qui dépasse ma mémoire disponible.
Chaque fois que je démarre un processus gourmand en mémoire, voici ce que j'attends d'un système d'exploitation sain: essayez de manger toute la mémoire libre, puis demandez à d'autres processus non essentiels de bien abandonner la mémoire dont ils n'ont pas besoin, puis écrire pour échanger.
Voici ce que Ubuntu fait pour moi: manger toute la mémoire libre, puis demander au système d'exploitation d'échanger tous les services essentiels (session gnome, terminal, clavier), puis geler et attendre que je débranche la prise d'alimentation.
Deux questions:
- Comment un système d'exploitation peut-il supposer que quelque chose pourrait être si important qu'il est possible d'arrêter d'écouter les entrées de l'utilisateur?
- Comment puis-je dire à Ubuntu de ne jamais échanger les services essentiels et de toujours réagir aux entrées des utilisateurs, même si un processus stupide essaie de consommer plus de ressources que le système n'en fournit.
swappiness
paramètre à 10, c'est- vm.swappiness = 10
à- dire: dans /etc/sysctl.conf. Recherchez ici la permutation pour plus d'informations à ce sujet. 2) Si l'échange n'est pas utile ... Même si vous ne voulez pas ... augmenter la taille de votre fichier d'échange à 1,5x16G et voir si cela aide. Tiens moi au courant. Cheers, Al
vm.swappiness=10
doit être AJOUTÉ à sysctl.conf. Une personne expérimentée pourrait même utiliser la commande sysctl à la volée, pour définir vm.swappiness = 10, sans modifier le fichier sysctl.conf. A bientôt, Al ps: en attente de réponse de l'OP.
swapon
pour le savoir)? Cheers, Al