Si le haut affiche des charges élevées et que vous ne savez pas si le processus à l'origine du problème fait du temps processeur ou des E / S réseau (pas des E / S locales), comment pouvez-vous le savoir?
Sur notre serveur, je vois des valeurs élevées de charge, mais en combinaison avec 60% -70% d'inactivité et environ 25% d'utilisateurs. Je voudrais savoir comment interpréter de telles valeurs, mais sur Internet, je lis presque toujours que vous pouvez utiliser iostat pour voir si le processus met à la poubelle vos disques. Mais je sais déjà avec certitude que ce n'est pas le cas. Le processus en question n'a pas non plus de difficulté à faire son travail, mais la charge reste élevée.
Alors, existe-t-il un moyen de savoir quelle partie est causée par l'attente du réseau et quelle partie est causée par le temps réel du processeur? Et quel est le sens de «ralenti» en haut?
Pour plus de clarté: avec charge, je veux dire les 3 chiffres qui signifient la moyenne des processus en file d'attente par cœur. Il y a 8 cœurs sur cette machine et les nombres peuvent atteindre 25, ce qui représente une charge de 2,5 par cœur.
la source
uptime
sortie)?htop
de regarder les processus. En particulier, il peut vous permettre de sélectionner un processus, puis en utilisant lal
commande, il vous montrera tous les fichiers ouverts en utilisant les périphériques d'lsof
inclusionIPv4
et deIPv6
diffusion, etc. Si vous avezstrace
installé sur votre box, vous pouvez également effectuer des appels système et déboguer le signal. Pas exactement une réponse mais un autre outil que je considérerais pour ce que vous essayez d'enquêter.Réponses:
Les E / S réseau ne sont pas prises en compte dans la métrique iowait Linux, sauf si elles font partie d'une transaction NFS auquel cas elles sont considérées comme des E / S disque.
En dehors d'une attente NFS hypothétique, aucune partie de la charge moyenne n'est prise par l'attente du réseau.
Cela signifie que le pourcentage de temps pendant lequel le CPU n'est pas dans un autre des états répertoriés (utilisateur, système, nice, iowait, interruptions matérielles, interruptions logicielles, volé). Cela inclut les attentes du réseau. Lorsqu'il est inactif, le CPU ne fait pratiquement rien. Notez que iowait est également un temps d'inactivité car un CPU ne fait rien non plus.
la source