===== Répertoire d'articles =====
Le serveur dans l'environnement de production ralentit, discutez des idées de diagnostic et de l'évaluation des performances
Les raisons du ralentissement du serveur dans l'environnement de production sont multiples: regardez l'ensemble de la machine, du processeur, de la mémoire, du disque, des E / S réseau, etc. et optimisez-les en fonction de la situation spécifique.
Machine entière: commande supérieure
La commande top est un outil d'analyse des performances couramment utilisé sous Linux, qui peut afficher l'utilisation des ressources de chaque processus du système en temps réel .
Nous savons que pour déterminer la charge d'un système, vous pouvez utiliser les commandes top , uptime et autres pour l'afficher. load average
Il enregistre la charge moyenne du système pendant une minute, cinq minutes et quinze minutes.
$ top
La somme des trois valeurs de charge moyenne est divisée par 3, puis multipliée par 100%. Si elle est supérieure à 60%, la charge système est importante.
cpu : vmstat
La commande vmstat fournit des statistiques sur les threads du noyau, la mémoire virtuelle, les disques, les interruptions et l'activité du processeur. Les rapports générés par la commande vmstat peuvent être utilisés pour équilibrer l'activité de charge du système. Les statistiques à l'échelle du système (dans tous les processeurs) calculent la valeur moyenne exprimée en pourcentage ou calculent la somme.
$ vmstat -n 2 3
Additionnel
Afficher toutes les informations de base du processeur
mpstat -P ALL 5 2
Indique qu'un rapport est généré toutes les 5 secondes et qu'un total de 2 rapports est généré.
Explication détaillée des paramètres de la commande mpstat sous Linux
Informations de décomposition de l'utilisation du processeur par chaque processus
pidstat est principalement utilisé pour surveiller l'occupation des ressources système par tout ou par des processus spécifiques, tels que le processeur, la mémoire, les E / S de périphérique, la commutation de tâches, les threads, etc. Lorsque pidstat est exécuté pour la première fois, il affiche diverses statistiques depuis le démarrage du système, et l'exécution de pidstat par la suite affichera les statistiques depuis la dernière exécution de la commande. Les utilisateurs peuvent obtenir les informations statistiques requises en spécifiant le nombre et l'heure des statistiques.
En utilisant l' -p
option pidstat , nous pouvons voir l'utilisation des ressources système d'un processus spécifique.
En utilisant cette -u
option, pidstat affichera les statistiques d'utilisation du processeur de chaque processus actif . L'effet de l' pidstat -u
exécution est pidstat
le même que celui de l'exécution individuelle .
pidstat -u 1 -p 进程编号
Échantillonnage toutes les secondes, imprimez les détails.
Mémoire: gratuite
Comment observer le problème d'utilisation de la mémoire, free est une commande très utile. Le
paramètre -m
affiche l'utilisation de la mémoire en Mo.
$ free
total used free shared buff/cache available
Mem: 4000436 1192152 266780 53844 2541504 2468412
Swap: 4194300 524 4193776
$ free -g
total used free shared buff/cache available
Mem: 3 1 0 0 2 2
Swap: 3 0 3
$ free -m
total used free shared buff/cache available
Mem: 3906 1163 260 52 2482 2410
Swap: 4095 0 4095
Expérience
- Mémoire disponible de l'application / mémoire physique du système> 70% de mémoire suffisante
- Mémoire disponible de l'application / mémoire physique du système <20% de mémoire insuffisante, besoin d'augmenter la mémoire
- 20% <mémoire disponible de l'application / mémoire physique du système <70% de la mémoire est fondamentalement suffisant
Additionnel
Option d'utilisation de pidstat -r
, pidstat affichera les statistiques d'utilisation de la mémoire de chaque processus actif
pidstat -p 进程号 -r 采样间隔秒数
Disque: df
$ df -h
文件系统 容量 已用 可用 已用% 挂载点
udev 1.9G 0 1.9G 0% /dev
tmpfs 391M 1.5M 390M 1% /run
/dev/sda1 28G 20G 7.1G 74% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
tmpfs 391M 20K 391M 1% /run/user/1000
Comme vous pouvez le voir, 28G a utilisé 20G, dont 74% ont été utilisés
Disque: IO
Iostat est principalement utilisé pour surveiller la charge d'E / S de l'équipement système. Lorsque iostat est exécuté pour la première fois, il affiche diverses informations statistiques dès le démarrage du système. Ensuite, l'exécution d'iostat affichera les informations statistiques depuis la dernière exécution de la commande. Les utilisateurs peuvent obtenir les informations statistiques requises en spécifiant le nombre et l'heure des statistiques.
iostat -xdk 2 3
Le paramètre -d
indique l'état utilisé du périphérique d'affichage (disque); -k
l'utilisation de certains blocs en unités de colonne applique des unités de kilo-octets; représente 2, les données sont actualisées toutes les 2 secondes. 3 signifie, échantillonner 3 fois.
Additionnel
pidstat utiliser les -d
options, nous pouvons voir les statistiques du processus IO
pidstat -d 采样间隔秒数 -p 进程号
Le programme ici est un programme d'impression en boucle sans fin, donc les E / S de disque n'occupent pas beaucoup.
Réseau IO
L' outil ifstat est un outil de surveillance d'interface réseau, qui est relativement simple à regarder le trafic réseau
Télécharger
http://gael.roualland.free.fr/ifstat/ (site officiel)
wget http://gael.roualland.free.fr/ifstat/ifstat-1.1.tar.gz
Compiler et installer
tar -zxvf ifstat-1.1.tar.gz
cd ifstat-1.1
./configure #默认会安装到/usr/local/bin/目录中
make
make install
Remarque: which ifstat
sortie d' exécution / usr / local / bin / ifstat
#ifstat
eth0 eth1
KB/s in KB/s out KB/s in KB/s out
0.07 0.20 0.00 0.00
0.07 0.15 0.58 0.00
référence
16 commandes de surveillance de serveur Linux dont vous avez besoin pour connaître le
notebook Linux / Unix