kswapd0 prend 99,9% de mon processeur comme le montre le mieux, le problème est apparu aujourd'hui lors du jeu et la première fois, il est parti après 6 minutes et maintenant, cela fait environ 20 minutes. Comment cela est-il réparable et quelle en est la cause?
46
Réponses:
Le processus kswapd0 est le processus qui gère la mémoire virtuelle. Votre ordinateur doit disposer de la RAM, du SWAP et de l’extension EXT4 sur votre disque dur / SSD. L'ext4 est l'endroit où tout est stocké, et l'accès est toujours plus lent que la RAM. La RAM est comme un espace intermédiaire permettant aux programmes d’accéder rapidement aux informations. La plupart des ordinateurs ont au moins 4 Go de RAM, ce qui est suffisant dans des conditions normales. Cependant, lorsque vous jouez à un jeu, vous risquez de manquer d’espace en mémoire RAM, point d’intervention de SWAP.
SWAP est une fausse RAM située sur votre disque dur / SSD à côté de votre EXT4. Il est plus rapide d’accéder que le EXT4, mais il est beaucoup plus lent que la RAM réelle. Lorsque vous manquez de mémoire, kswapd0 déplace les programmes que vous n'utilisez pas / n'utilisez pas autant que d'autres programmes dans le SWAP, ce qui entraîne un retard extrême sur ces processus. Si votre jeu nécessitait 5 Go de RAM, 1 Go au moins serait en SWAP. Cela signifie que lorsqu'il tente d'accéder à cette information, il doit attendre plus longtemps avant de l'obtenir.
Tout ce processus entraîne une utilisation extrême du processeur, le déplacement des informations de et vers SWAP et RAM et le traitement de la demande d'informations en même temps. Comment résoudre ce problème?
Dites à kswapd0 de ne déplacer des éléments dans SWAP que lorsque vous êtes complètement à court de RAM. C’est la méthode la plus efficace pour résoudre les problèmes SWAP. Courir
echo vm.swappiness=0 | sudo tee -a /etc/sysctl.conf
où
0
est le pourcentage restant pour100
lequel SWAP doit être utilisé (quand il vous restera 0% de RAM, SWAP commencera à prendre des données). Vous pouvez aussi simplement éditer /etc/sysctl.conf à votre convenance au lieu d’ajouter cette commande à la fin de celle-ci à chaque fois en utilisant gedit ou nano ou autre, assurez-vous de choisir sudo, ce fichier appartient à la racine. Redémarrez et vous êtes prêt!C'est le mieux que vous puissiez faire. D'autres peuvent dire de désactiver complètement l'échange, mais c'est dangereux et je ne le recommanderais PAS. Cela peut provoquer le gel de systèmes entiers en cas de fuite de mémoire ou de trop d'applications en cours d'exécution. Il suffit de se rendre compte que le SWAP est un fail-safe pour la RAM. Ce n'est certainement pas aussi rapide et efficace que la RAM, mais c'est mieux que le fichier Page de Windows! (qui accomplit le même but)
EDIT: Si vous souhaitez en savoir plus sur SWAP, cliquez ici .
la source
kwapd0
est parti. Merci.kswapd0 fonctionne à 99,9% d'un processeur mais n'échange pas du tout
Pour moi, cela arrive parfois sur Ubuntu 14.04 avec le noyau 3.19.0-50-generic (et antérieur) s'exécutant dans une machine virtuelle VMware. Je n'ai aucune idée de ce qui l'a fait apparaître, mais cela vient pendant les temps morts.
top
spectacles:Solution temporaire
un redémarrage a résolu le problème - temporairement.
en suivant la réponse sur serverfault (kswapd utilise souvent 100% de la CPU lorsqu’un swap est utilisé), là où se trouvent les mêmes paramètres sur mon système:
la solution était en réalité
# echo 1 > /proc/sys/vm/drop_caches
:maintenant c'est bon:
Solution permanente (à trouver)?
mais comme la raison réelle n’est pas encore connue et que je n’ai pas trouvé d’explications appropriées sur le net, ce n’est pas une solution permanente. En fait, la réponse choisie pourrait être la solution permanente. Je voulais juste ajouter ceci pour référence future, car un redémarrage (pour que sysctl prenne effet) ne soit pas toujours possible.
Une autre solution pourrait être de définir THP sur
madvice
ounever
(voir le commentaire de poige dans sa réponse , Comment modifier «/ sys / kernel / mm / transparent_hugepage / enabled» et le manuel MongoDB sur la désactivation des pages transparentes immenses (THP) )Cron
J'ai configuré le lot suivant en tant que tâche cron en tant que solution "permanente":
invoqué avec
16.04 14.04 swap
la source