Maison >Opération et maintenance >exploitation et maintenance Linux >Comment vérifier la charge du système sous Linux
L'état de chargement du système d'exploitation reflète l'utilisation des ressources de l'application, à partir de laquelle les goulots d'étranglement de l'optimisation des applications peuvent être détectés.
La charge moyenne du système fait référence au nombre moyen de processus en cours d'exécution ou sans interruption.
est en cours d'exécution, ce qui signifie qu'il est en cours d'exécution, occupant le processeur ou prêt, en attente de la planification du processeur.
Ne pas déranger, indiquant le blocage, en attente des E/S
Recommandé : [Tutoriel vidéo Linux]
Dans le système Linux, vous devez vérifiez la charge En général, utilisez la commande uptime (la commande w et la commande top sont également acceptables) *
1. commande uptime
$ uptime\ 16:33:56 up 69 days, 5:10, 1 user, load average: 0.14, 0.24, 0.29
Les informations ci-dessus sont analysées comme suit :
<.>16:33:56 : Heure actuellejusqu'à 69 jours, 5h10 : Le système fonctionne depuis 69 jours, 5 heures et 10 minutes1 utilisateur : Il y a actuellement 1 utilisateur connecté à la charge moyenne du système : 0,14, 0,24, 0,29 : La charge moyenne du système au cours des dernières 1 minute, 5 minutes et 15 minutes charge moyenne : 0,14, 0,24, 0,29 : La moyenne charge du système au cours des dernières 1 minute, 5 minutes et 15 minutes Analyse de la charge moyenneAfficher le nombre de cœurs de processeur logiques :$ grep 'model name' /proc/cpuinfo | wc -l\ 1\Le résultat en cours d'exécution montre qu'il y a 1 cœur de processeur logique. En prenant 1 cœur de processeur comme exemple, en supposant que le processeur traite jusqu'à 100 processus par minute – load=0, aucun processus ne nécessite de processeur load=0,5, le processeur traite 50 processus load=1, le CPU a traité 100 processus. À ce moment, le CPU est plein, mais le système peut toujours fonctionner correctement load=1.5, le CPU a traité 100 processus, et il reste 50 processus. Un processus est en cours d'élimination et attend le traitement du processeur. À ce moment, le processeur est déjà surchargé Afin de faire fonctionner le système en douceur, la valeur de charge ne doit pas dépasser 1,0, donc. qu'aucun processus ne doit attendre et que tous les processus peuvent être traités pour la première fois en un rien de temps. Évidemment, 1,0 est une valeur clé. Si elle dépasse cette valeur, le système n'est pas dans un état optimal. Généralement, 0,7 est une valeur idéale. De plus, l'état de santé de la valeur de charge est également lié au nombre de cœurs de processeur dans le système. Si le nombre de cœurs de processeur est de 2, alors la valeur de santé de la valeur de charge doit être de 2, et ainsi de suite. La valeur de charge moyenne sur 15 minutes est généralement utilisée pour évaluer la charge du système. 2. w commande
$ w\ 17:47:40 up 69 days, 6:24, 1 user, load average: 0.46, 0.26, 0.25\ USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT\ lvinkim pts/0 14.18.144.2 15:55 0.00s 0.02s 0.00s wLigne 1 : identique à celle de disponibilité. En dessous de la ligne 2, la liste des utilisateurs actuellement connectés. 3. Commande supérieure
$ top\ top - 17:51:23 up 69 days, 6:28, 1 user, load average: 0.31, 0.30, 0.26\ Tasks: 99 total, 1 running, 98 sleeping, 0 stopped, 0 zombie\ Cpu(s): 2.3%us, 0.2%sy, 0.0%ni, 97.4%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st\ Mem: 1922244k total, 1737480k used, 184764k free, 208576k buffers\ Swap: 0k total, 0k used, 0k free, 466732k cached\ \ PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND \ 1 root 20 0 19232 1004 708 S 0.0 0.1 0:01.17 init \ 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd \ ...Ligne 1 : identique à celle de disponibilité. Ligne 2 : informations sur le numéro de processus. Tâches : 99 au total : il y a 99 processus au total1 en cours d'exécution : 1 processus occupe le processeur98 en veille : 98 processus en veille 0 arrêté : 0 processus arrêtés0 zombie : 0 processus zombieLigne 3 : utilisation du processeurnous (utilisateur) : occupé par des processus utilisateur non sympas Ratio CPUsy (système) : Le ratio entre le noyau et les processus du noyau occupant le CPUni (nice) : Le ratio du CPU occupé par les processus qui ont changé de priorité dans l'espace des processus utilisateurid (idle) : taux d'inactivité du processeur. Si le système est lent et que cette valeur est élevée, cela signifie que la raison de la lenteur du système n'est pas une charge élevée du processeur wa (iowait) : Le rapport de temps du CPU en attente pour effectuer les opérations d'E/S, cet indicateur peut être utilisé pour résoudre les problèmes d'E/S de disque, généralement combiné avec wa et id pour déterminer hi (Hardware IRQ) : le rapport de le temps passé par le CPU à traiter les interruptions matérielles si (Software Interrupts) : Le rapport du temps passé par le CPU à traiter les interruptions logiciellesst (steal) : Le temps écoulé, le rapport de Temps CPU occupé par d'autres tâches dans la machine virtuelleQuelques situations qui nécessitent une attention particulière :Le processus utilisateur a une proportion élevée et le fonctionnement des E/S est faible : cela signifie que la raison pour laquelle Le système lent est que le processus consomme beaucoup de CPU, et il s'accompagne généralement d'un faible taux d'inactivité, ce qui signifie que le CPU a très peu de temps d'inactivité. Le fonctionnement des E/S est faible et le taux d'inactivité id est élevé : la possibilité d'un goulot d'étranglement des ressources CPU peut être éliminée. Le fonctionnement des E/S est élevé : cela signifie que les E/S prennent beaucoup de temps CPU. Vous devez vérifier l'utilisation de l'espace de swap. L'espace de swap est situé sur le disque et les performances sont importantes. inférieur à celui de la mémoire. Lorsque la mémoire est épuisée, le swap est utilisé. Lors de l'utilisation de l'espace, cela aura un impact sérieux sur les performances, donc pour les serveurs ayant des exigences de performances plus élevées, il est généralement recommandé de désactiver l'espace de swap. D'un autre côté, s'il y a beaucoup de mémoire mais que wa est élevé, vous devez vérifier quel processus consomme beaucoup de ressources d'E/S. Plus de situations de charge peuvent être jugées de manière flexible dans la pratique. 4. Commande iostat La commande iostat peut vérifier l'utilisation des E/S de la partition système
$ iostat \ Linux 2.6.32-573.22.1.el6.x86_64 (sgs02) 01/20/2017 _x86_64_ (1 CPU)\ \ avg-cpu: %user %nice %system %iowait %steal %idle\ 2.29 0.00 0.25 0.04 0.00 97.41\ \ Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn\ vda 1.15 3.48 21.88 21016084 131997520Quelques indicateurs IO remarquables : Périphérique : nom du disque tps : requêtes de transfert d'E/S par seconde Blk_read/s : combien de blocs sont lus par seconde Pour afficher la taille du bloc, reportez-vous à la commande tune2fs. Blk_wrtn/s : combien de blocs sont écrits par secondeBlk_read : combien de blocs sont lus au total–Blk_wrtn : combien de blocs sont écrits au total5. Commande iotopiotop La commande est similaire à la commande top, mais elle affiche l'état d'E/S de chaque processus, ce qui est utile pour localiser les processus avec des opérations d'E/S lourdes.
# iotop\ Total DISK READ: 0.00 B/s | Total DISK WRITE: 774.52 K/s\ TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND \ 272 be/3 root 0.00 B/s 0.00 B/s 0.00 % 4.86 % [jbd2/vda1-8]\ 9072 be/4 mysql 0.00 B/s 268.71 K/s 0.00 % 0.00 % mysqld\ 5058 be/4 lvinkim 0.00 B/s 3.95 K/s 0.00 % 0.00 % php-fpm: pool www\ 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % initVous pouvez voir l'intensité de lecture et d'écriture de différentes tâches. 6. outil sysstat
很多时候当检测到或者知道历史的高负载状况时,可能需要回放历史监控数据,这时 sar 命令就派上用场了,sar 命令同样来自 sysstat 工具包,可以记录系统的 CPU 负载、I/O 状况和内存使用记录,便于历史数据的回放。
sysstat 的配置文件在 /etc/sysconfig/sysstat 文件,历史日志的存放位置为 /var/log/sa\
统计信息都是每 10 分钟记录一次,每天的 23:59 会分割统计文件,这些操作的频率都在 /etc/cron.d/sysstat 文件配置。\
七、sar 命令
使用 sar 命令查看当天 CPU 使用:
$ sar\ Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)\ \ 10:50:01 AM CPU %user %nice %system %iowait %steal %idle\ 11:00:01 AM all 0.45 0.00 0.22 0.40 0.00 98.93\ Average: all 0.45 0.00 0.22 0.40 0.00 98.93
使用 sar 命令查看当天内存使用:
$ sar -r\ Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)\ \ 10:50:01 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit\ 11:00:01 AM 41292 459180 91.75 44072 164620 822392 164.32\ Average: 41292 459180 91.75 44072 164620 822392 164.32
使用 sar 命令查看当天 IO 统计记录:
$ sar -b\ Linux 2.6.32-431.23.3.el6.x86_64 (szs01) 01/20/2017 _x86_64_ (1 CPU)\ \ 10:50:01 AM tps rtps wtps bread/s bwrtn/s\ 11:00:01 AM 3.31 2.14 1.17 37.18 16.84\ Average: 3.31 2.14 1.17 37.18 16.84
更多 sar 用法,请 man sar 。
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!