En exécutant top, htop, uptime, etc., nous pouvons voir la moyenne de charge comme trois valeurs indiquant la charge moyenne pour les 1/5/15 dernières minutes ( enfin pas vraiment , mais ce n'est pas la question ici).
Parfois, je remarquerai que j'ai une moyenne de charge assez élevée pour les 15 dernières minutes, mais la charge actuelle est très faible. Existe-t-il un utilitaire / programme qui peut répertorier les processus (même s'ils n'existent plus) qui ont consommé le plus de temps CPU pendant les 1/5/15 dernières minutes (ou une autre période similaire)?
Je suis conscient que la moyenne de charge peut également être causée par des processus en attente d'E / S, mais je suis surtout intéressé à voir les applications les plus gourmandes en CPU (bien que pouvoir voir les E / S historiques serait également bien).
Pour autant que je sache, exécuter htop et trier par temps ne peut pas m'aider ici, car si l'ordinateur est allumé depuis un certain temps, les valeurs les plus élevées n'auront pas nécessairement quelque chose à voir avec le passé récent.
Réponses:
Je suggère d'utiliser
atop
. C'est un démon rassemblant toutes les informations les plus importantes toutes les 10 minutes par défaut et vous pouvez simplement remonter dans le temps en affichant ces instantanés les plus importants. Ajustez le paramètre d'intervalle par défaut à vos besoins (consomme plus d'espace disque s'il est défini plus fréquemment).Pas plus tard qu'hier, j'ai répondu à une question similaire , dans laquelle j'ai inclus un très court mode d'emploi.
la source
atop
informations peuvent aider à deviner comment les valeurs de charge sont composées (résumées)? en d'autres termes, que fait cet algorithme (dehtop
) pour composer la moyenne de charge et pourquoi il n'est pas affiché par processus? (Je pense que cela peut mériter un nouveau fil?)À en juger par l'indication de htop, je suppose que vous utilisez Linux.
Vous pouvez jeter un œil à un utilitaire appelé sar , qui est fréquemment utilisé sur Solaris mais je l'ai rarement vu en cours d'utilisation sur Linux. Il est capable d'enregistrer l'activité du système pendant une journée, puis de la signaler à divers intervalles. Vous pouvez également consulter Orca, mais les statistiques de données sont toujours par système.
Si vous avez besoin de données par processus, il existe évidemment des produits payants comme TeamQuest .
la source
À moins que vous ne configuriez un outil de collecte de données, la réponse est non, il n'y a pas un tel utilitaire intégré, qui enregistrera l'utilisation des différentes ressources.
D'un autre côté, chaque installation Linux est livrée avec l'utilitaire sar, qui traite du sujet dont vous parlez. Je ne vais pas entrer dans les détails de la façon dont vous collectez les données et comment vous extrayez ces données pour les rapports, car les besoins de chaque serveur et de chaque organisation sont différents.
Connectez-vous à votre serveur et commencez à lire la page de manuel de la
sar
commande. Effectuez ensuite une recherche Google sur la façon d'utiliser efficacement Sar. Et en peu de temps, vous pourrez configurer votre utilitaire de collecte de données. Lorsque vous rencontrez un problème, il vous suffit de creuser à nouveau dans les journaux sar pour la période de temps spécifiée et de trouver quelle ressource s'est avérée être utilisée plus que d'habitude, etc.C'est un outil inestimable pour convaincre la direction d'investir de l'argent pour acheter / mettre à niveau du matériel, si vous enregistrez en continu une utilisation de 75% ou plus et aucun autre moyen de le prouver. Il y a même des macros Excel pour créer des rapports graphiques (lus comme parlant de la direction) à partir de données sar brutes si je ne me trompe pas.
la source