Où l'attente du réseau passe-t-elle en «haut»?


9

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.


Qu'appelez-vous «charge»: utilisation du processeur ou les 3 valeurs de «moyenne de charge» (visibles en uptimesortie)?
2015

1
La question n'a aucun sens ... l'attente d'E / S réseau n'utilise pas de temps processeur.
psusi

2
J'adore l'utilité htopde regarder les processus. En particulier, il peut vous permettre de sélectionner un processus, puis en utilisant la lcommande, il vous montrera tous les fichiers ouverts en utilisant les périphériques d' lsofinclusion IPv4et de IPv6diffusion, etc. Si vous avez straceinstallé 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.
111 ---

Je veux dire les 3 chiffres. Si je comprends bien, ils sont appelés "charge", ou je me trompe ici? Ils représentent le nombre de processus dans la file d'attente qui peuvent être exécutés, mais cela inclut-il les processus qui ont une attente réseau, ou exclut-il les processus?
Jan

Et que définissez-vous comme «élevé»? La moyenne de charge n'est pas mise à l'échelle pour les cœurs. Par exemple, un système avec une moyenne de charge de 1 et 4 cœurs est 1 / 4ème aussi chargé qu'un système avec une moyenne de charge de 1 et seulement 1 cœur. La moyenne de charge est un nombre très grossier.
bahamat

Réponses:


3

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?

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.

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?

En dehors d'une attente NFS hypothétique, aucune partie de la charge moyenne n'est prise par l'attente du réseau.

Et quel est le sens de «ralenti» en haut?

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.


Merci pour votre réponse. Donc, dans ma situation où je vois une valeur d'inactivité élevée (60% - 70%) et un état utilisateur inférieur (environ 25%) et un iowait faible, cela pourrait signifier que le serveur attend des ressources réseau, si je vous comprends bien.
Jan

1
Pas nécessairement en attente de ressources réseau. Il se peut que le processeur soit suffisamment rapide pour accomplir tout ce qui doit être fait. La moyenne de charge élevée est peut-être causée par un nombre très élevé de threads en concurrence simultanément pour un processeur, mais pendant de très courtes périodes de temps.
jlliagre
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.