web-dev-qa-db-fra.com

Moyenne de charge élevée: quels processus attendent dans la file d'attente?

J'ai un serveur Ubuntu exécutant Redis, qui souffre d'un problème de charge élevé.

Criminalistique

Heure de disponibilité

# uptime
05:43:53 up 19 min,  1 user,  load average: 2.96, 2.07, 1.52

sar

# sar -q 
05:24:00 AM       LINUX RESTART

05:25:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
05:35:04 AM         0       116      3.41      2.27      1.20         4
Average:            0       116      3.41      2.27      1.20         4

hotop

La CPU utilise l'utilisation de htop est embarrassant bas: -enter image description here

haut

enter image description here

netstat

34 Open redis-server Connexions:

$ Sudo netstat -natp | grep redis-server | wc -l
34

enter image description here

gratuit

$ free -g
             total       used       free     shared    buffers     cached
Mem:            14          6          8          0          0          2
-/+ buffers/cache:          4         10
Swap:            0          0          0

Comment savoir quels processus causent-ils la charge élevée en attente d'entrer l'état Running? Le nombre de connexions est-il trop élevé?

6
Adam Matan

Linux, contrairement à la plupart, sinon tous les autres OSES Unix, ne comptent pas seulement les processus de comptage à l'aide d'une CPU ou en attente d'une CPU dans la file d'attente d'exécution comme référence pour son calcul de charge, mais ajoutez également le nombre de processus (fils réellement) Etat ininterrompu, c'est-à-dire attendre pour un disque ou un réseau d'E/S. Ces derniers sont en fait inactifs, c'est-à-dire pas en utilisant la CPU.

Il n'y a alors probablement rien à craindre de votre charge (pas aussi). Les processus que vous recherchez sont probablement les filetages de noyau redis plus transculents.

4
jlliagre