2 votes

Le processus kswapd0 de CentOS7 consomme 99% du CPU

CentOS7 root eating 99% CPU

Quand je cours top sur centos7, j'ai trouvé kswapd0 mangeant 99% du CPU, comme le montre la capture d'écran ci-dessus.

Vous trouverez ci-dessous d'autres informations

top - 11:38:04 up 32 days, 16:14,  1 user,  load average: 0.06, 0.13, 0.19
Tasks: 142 total,   2 running, 140 sleeping,   0 stopped,   0 zombie
%Cpu(s): 12.0 us,  2.0 sy,  0.0 ni, 79.0 id,  6.7 wa,  0.0 hi,  0.0 si,  0.3 st
KiB Mem :  3618860 total,   199684 free,  1130200 used,  2288976 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  2152124 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
12493 mysql     20   0 1200596 402140   6868 S  5.3 11.1  46:54.22 mysqld
13460 apache    20   0 1089628  43932  22264 S  3.0  1.2   1:16.40 php-fpm
13462 apache    20   0 1088772  42704  21672 S  1.3  1.2   1:14.47 php-fpm
 9391 root      20   0  124508  11588   4852 S  0.7  0.3   8:38.31 AliYunDun
13474 apache    20   0 1073892  40976  19884 S  0.7  1.1   1:15.93 php-fpm
12609 apache    20   0 1088832  44976  24000 S  0.3  1.2   1:15.94 php-fpm
12615 apache    20   0 1077948  42776  21764 S  0.3  1.2   1:16.34 php-fpm
12616 apache    20   0 1077568  43116  22344 S  0.3  1.2   1:14.59 php-fpm
12619 apache    20   0 1085672  44144  22380 S  0.3  1.2   1:14.62 php-fpm
12663 nginx     20   0   66928   7604   2276 S  0.3  0.2   4:55.48 nginx
12664 nginx     20   0   68064   9124   2708 S  0.3  0.3   5:17.61 nginx
13451 apache    20   0 1077360  41092  20452 S  0.3  1.1   1:15.16 php-fpm
20987 root      20   0  143572   5788   4492 S  0.3  0.2   0:00.75 sshd
27671 root      20   0  157676   2208   1544 R  0.3  0.1   0:00.12 top
28370 apache    20   0 1071564  34900  15676 S  0.3  1.0   1:01.53 php-fpm
    1 root      20   0  191276   5412   1464 S  0.0  0.1   2:03.59 systemd
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.06 kthreadd
    3 root      20   0       0      0      0 S  0.0  0.0   0:46.51 ksoftirqd/0
    5 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H
    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/0
   10 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/1
   11 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/2
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/3
   13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/4
   14 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/5
   15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/6
   16 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/7
   17 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/8
   18 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/9
   19 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/10
   20 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/11
   21 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/12
   22 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/13
   23 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcuob/14

Je ne sais pas pourquoi.

[root@fl basic]#free -lh
              total        used        free      shared  buff/cache   available
Mem:           3.5G        1.1G        197M         87M        2.2G        2.1G
Low:           3.5G        3.3G        197M
High:            0B          0B          0B
Swap:            0B          0B          0B

3voto

Ryan De Gannes Points 31

Eh bien, la racine ne mange pas votre CPU, elle le fait. kswapd . Il y a bug connu dans le noyau linux. Nous avons les mêmes problèmes dans CentOS 7.1 après la mise à niveau vers 7.2, ils ont disparu. Une mise à jour du noyau pourrait être une solution pour vous.

2voto

shodanshok Points 42743

Comme indiqué par AlexanderT, il peut s'agir d'un bug du noyau et vous devez donc mettre à jour votre noyau.

Si vous ne pouvez pas le faire, une solution de contournement possible consiste à abandonner périodiquement le buffer/pagecache en lançant la commande suivante : echo 3 > /proc/sys/vm/drop_caches

0voto

Paul Points 404

Si dans ce cas, il s'agit du bogue du noyau mentionné ci-dessus, dans d'autres cas, il peut s'agir d'autre chose.

Ça pourrait être un logiciel malveillant. Le nom du processus a été changé pour afficher kswapd0. C'est une astuce commune aux logiciels malveillants, et kswapd0 en est une que j'ai spécifiquement vue.

D'autres indices montrent qu'il ne s'agit pas d'un simple processus bénin du noyau :

  • n'a pas de [parenthèses] autour de son nom
  • les processus du noyau sont généralement des PID inférieurs ; les kswapd sont environ 500 sur un serveur avec 64 cœurs (et plus de cœurs signifie plus de kprocs comme migration, watchdog, ksoftirqd, qui s'exécutent avant kswapd)
  • fichiers dans /proc/$PID/fd - un vrai kproc n'aura pas de descripteurs de fichiers.
  • VIRT/RES/SHR sera 0 pour le processus du noyau, mais un faux processus aura des valeurs non nulles ici.
  • recherchez d'autres processus suspects. Voyez-vous des choses comme uptime, ls -la, id, whoami, etc qui reviennent normalement en une fraction de seconde ? Comment se fait-il qu'ils tournent tous à l'instant où vous avez lancé ps ? Vous avez peut-être un logiciel malveillant.

Vous pouvez toujours avoir une véritable charge d'échange. Si votre système était dépourvu de mémoire libre ou si votre swap était actif (si vous en avez un), cela peut être dû au fonctionnement normal du sous-système VM.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X