Optimisation des performances
l'optimisation des performances de base est d'identifier les goulots d'étranglement point du système, le problème se trouve, l'optimisation du travail est fait la moitié, l'optimisation des performances présentées ici principalement pour présenter deux niveaux: au niveau du système et au niveau du programme.
Haut
Après être entré dans le mode interactif:
- M entrée, la liste des processus triée par ordre décroissant utilisation de la mémoire de taille, pour nous d'observer les plus gros consommateurs de mémoire utilisent un problème (pour détecter les fuites de mémoire)
- Entrée P, la liste des processus selon la taille de l'utilisation du processeur dans l'ordre décroissant, pour nous d'observer les utilisateurs qui consomment le plus de ressources CPU en cas de problème
La troisième ligne du haut montre le système actuel, dans lequel il y a deux valeurs critiques:
- % Id: pourcentage du temps d'inactivité du processeur, et si cette valeur est trop faible, le système indique un goulot d'étranglement CPU
- % Wa: en attente de pourcentage d'E / S de temps CPU, si cette valeur est trop élevée, ce qui indique la présence de goulot d'étranglement IO
Analyse de goulot d'étranglement de la mémoire
Vérifiez que le goulot d'étranglement de la mémoire, en utilisant la commande haut pour voir plus de problèmes, commande plus intuitive et libre.
outil supérieur affiche la première ligne outil gratuit tous les informations, mais la vraie mémoire disponible, vous avez aussi besoin de connaître leur propre calcul, la mémoire du système réel disponible pour la sortie sans outil de la deuxième rangée libre + tampon + cache.
S'il est à cause du manque de mémoire, réponse du système lent évidemment, car il fait l'arrêt du système faisant, permutée du travail.
L'analyse de IO
Si le goulot d'étranglement de performance IO, outil supérieur% wa sera élevé.
- Si la valeur de% iowait trop élevé, indique la présence des goulots d'étranglement d'E / S disque dur
- Si% util près de 100%, ce qui indique que le système demande d'E / S généré aussi E / S a été à pleine capacité, le disque peut être un goulot d'étranglement
- Si svctm près de await, pour I / O est presque pas de temps d'attente
- Si le svctm attend beaucoup plus grande que, pour E / S file d'attente est trop long, trop lente réponse IO est nécessaire d'optimiser le nécessaire
- Si avgqu-sz relativement importante, a dit aussi il y a beaucoup d'attente pour io
appels processus d'analyse
pstack 和 pstrace.
pstack utilisé pour suivre la pile du processus, cette commande est utile lors de la résolution des problèmes de processus, comme nous constatons qu'un service est en état de travail (comme l'animation suspendue, comme une boucle infinie), utilisez cette commande peut facilement localiser le problème, vous pouvez sur une période de temps à l'intérieur, l'exécuter plusieurs fois pstack, si la pile de code trouvé est toujours garée au même endroit, cet endroit devront se concentrer sur, il est susceptible d'aller mal.
Strace utilisé pour suivre et traiter l'appel de système; appel système et le signal reçu lorsque l'outil peut être réalisée de façon dynamique processus de traçage. Il est une détection très efficace, des outils d'orientation et de débogage. Les administrateurs système peuvent facilement résoudre le problème par la commande du programme.
GProf utiliser les étapes
- En gcc, g ++, lorsque le compilateur xlC en utilisant des paramètres -pg, tels que: g ++ -pg -o test.exe test.cpp compilateur inséré automatiquement dans l'extrait de code objet pour les tests de performance, les pistes de code de programme lorsque la relation entre les fonctions de collecte et d'appel et le nombre d'appels et enregistre le temps d'exécution du temps d'exécution de la fonction elle-même et la fonction appelée.
- Après avoir compilé une exécution de programme exécutable, tels que: ./ test.exe. Runtime programme exécutable temps d'exécution de cette étape sera un peu plus lent qu'une compilation normale. Après la course, où le programme est généré dans le chemin du fichier par défaut dans un fichier nommé gmon.out de ce document est d'enregistrer les performances du programme est en cours d'exécution, appelez la relation, appelez les informations du fichier de données telles que le nombre de fois.
- Utilisez gprof commande pour analyser le fichier gmon.out d'information en cours d'exécution d'enregistrement, tels que: gprof test.exe gmon.out vous pouvez voir sur l'affichage des statistiques d'appels liés à la fonction, des informations d'analyse. Les informations ci-dessus peut être utilisé gprof test.exe gmon.out> gprofresult.txt redirigés vers un fichier texte pour une analyse ultérieure.
autres outils
- valgrind
- OProfile
- sar
Pour apprendre. . .