Comment utiliser la commande vmstat sous Linux
vmstat est l'abréviation de virtual memory statistics
C'est un outil de surveillance très utile sous Linux En plus de la mémoire, il fournit également des informations supplémentaires telles que le bloc IO et le temps CPU
Grammaire
L'exécution de la commande vmstat ne nécessite pas d'autorisations spéciales et peut être exécutée par des utilisateurs ordinaires. Sa syntaxe est la suivante
.vmstat [options] [delay [count]]
delay
représente l'intervalle de mise à jour des données en secondes. Si cette valeur n'est pas spécifiée, elle représente le temps moyen depuis le démarrage du système, et le résultat n'est affiché qu'une seule fois à ce moment
count
représente le nombre de sorties. Si cette valeur n'est pas spécifiée, mais que la valeur de count
表示输出次数,如果没有指定该值,但是指定了 delay
est spécifiée, cela signifie des temps illimités
Description du champ de résultat
Entrez vmstat
sur la ligne de commande et appuyez sur Entrée, le résultat sera affiché une fois
[root@cghost22 ~]# vmstat procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 0 991324 932 537336 0 0 0 0 3 4 0 0 100 0 0 [root@cghost22 ~]#
Il y a de nombreux champs dans les résultats. Le tableau suivant répertorie la description détaillée de chaque champ
.Champ | Instructions |
---|---|
r | Le nombre de processus exécutables, y compris les états en cours d'exécution et prêts |
b | Nombre de processus en état de veille ininterrompue |
swpd | Utilisation de la mémoire virtuelle |
gratuit | Mémoire gratuite |
buff | Quantité de mémoire utilisée comme tampon |
cache | Quantité de mémoire utilisée comme cache |
si | La quantité de mémoire échangée depuis le disque |
donc | Montant échangé de la mémoire vers le disque |
bi | Blocs reçus du périphérique de blocage, unité : blocs/seconde |
bo | Blocs envoyés au périphérique de blocage, unité : blocs/seconde |
dans | Nombre d'interruptions par seconde, y compris les interruptions d'horloge |
cs | Changements de contexte par seconde |
nous | Temps d'exécution du mode utilisateur |
sy | Temps d'exécution en mode noyau |
id | Temps d'inactivité du processeur |
wa | Temps d'attente pour IO |
st | Temps volé aux machines virtuelles |
La deuxième ligne du tableau 处于不可中断睡眠状态的进程数量
, ininterruptible, fait ici référence à l'état dans lequel un processus entre lors de l'exécution de certains appels système. Dans cet état, le processus est bloqué et ne peut pas être interrompu tant que l'appel système n'est pas terminé
Les résultats du champ sont divisés en plusieurs parties selon la couleur, de haut en bas : informations sur le processus, informations sur la mémoire, informations IO, interruption et contexte système, temps CPU
L'unité par défaut de la valeur dans les informations de mémoire est le Ko (1024 Ko). Le champ Temps CPU ne représente pas le temps spécifique, mais un pourcentage du temps CPU total
.Options communes
Options | Instructions |
---|---|
-a | Afficher la mémoire active et inactive |
-f | Le nombre de forks depuis le démarrage du système, y compris les appels système tels que fork, vfork et clone |
-s | Afficher le nombre d'événements système et les statistiques de mémoire |
-d | Rapport sur les statistiques du disque |
-D | See MoreStatistiques sur les informations sur le disque actif |
-p | Détails de la partition spécifiée |
-t | Ajouter une colonne d'affichage de l'heure |
-S | Afficher selon l'unité d'octet spécifiée |
-w | Les résultats sont affichés en mode large |
-V | version vmstat |
常见用法
vmstat 命令主要用于识别系统的瓶颈,统计数据的时候,它不会包含自身进程
- 按照指定时间间隔和次数输出
[root@cghost22 ~]$ vmstat 2 10 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 12552 148356 234324 3382956 0 0 1 21 4 4 2 2 97 0 0 1 0 12552 148264 234324 3382980 0 0 0 0 14974 27478 3 2 96 0 0 1 0 12552 148232 234324 3382984 0 0 0 14 14384 27181 3 2 96 0 0 0 0 12552 148376 234332 3383052 0 0 0 204 14197 26812 4 2 94 0 0 0 0 12552 148512 234332 3383088 0 0 0 4 14398 27155 3 2 95 0 0 0 0 12552 147892 234332 3383128 0 0 0 210 15515 28802 3 2 95 0 0 1 0 12552 148388 234332 3383156 0 0 0 0 15147 28042 3 2 95 0 0 0 0 12552 148264 234332 3383168 0 0 0 4 14380 27395 3 1 96 0 0 0 0 12552 148264 234336 3383216 0 0 0 198 14430 27008 3 1 95 0 0 2 0 12552 148140 234336 3383252 0 0 0 6 14233 27161 3 2 95 0 0
2
表示每隔 2 秒输出一次结果,10
表示总共输出 10 次,10 次之后程序自动结束
- 修改内存显示单位
输出的结果中,内存数据的单位默认是 KB,可以通过 -S
选项调整显示的单位,有下面几种单位可供选择
注意:-S
选项对 si、 so
字段无效
k # 1000 bytes K # 1024 bytes m # 1000 * 1000 bytes M # 1024 * 1024 bytes

上图中第一个结果中内存数据显示单位是 KB , 第二个结果中单位是 MB,将第一个结果对应字段的数值除以 1024 就得到了第二个结果
- 活跃内存和非活跃内存

inact
是非活跃内存,active
是活跃内存
活跃内存是进程在使用的内存,非活跃内存是未运行进程的内存
- 系统启动以来 fork 的数量
这里的 fork 数量包括 fork、vfork 以及 clone 等系统调用
[root@cghost22 ~]# vmstat -f 12714 forks [root@cghost22 ~]# vmstat -f 12715 forks [root@cghost22 ~]# vmstat -f 12716 forks
我们每次在控制台执行一次命令,系统就会 fork 一个新的进程来执行命令,比如像上面的例子,每执行一次 vmstat -f
命令,系统就会 fork 一个新进程
这个选项还可以用于统计某个操作消耗多少次 fork 调用,只需要在操作前后各执行一次 vmstat -f
命令,比较两次结果的差值即可
- 每行追加一列时间
追加一列时间显示,有助于比较一段时间内的结果

- 按照宽模式显示
vmstat 结果中的某些字段的数字有时会比较长,而且跟字段名的位置有偏差, 不太适合人类的观看习惯,-w
选项可以按照宽模式显示数据,使结果看起来更直观,下图是分别未使用宽模式和使用了宽模式的一个对比

- 统计磁盘信息

磁盘信息主要分三个方面:读、写、IO ,读和写以毫秒为单位,IO以秒为单位
读 total: 成功读取的总数 merged: 分组读取(产生一个 IO) sectors: 成功读取的扇区数 ms: 读取花费的毫秒 写 total: 成功写入的总数 merged: 分组写入(产生一个 IO) sectors: 成功写入的扇区数 ms: 写花费的毫秒 IO cur: 正在进行的IO s: IO花费的秒数
- 指定磁盘分区信息

上图中,输出结果显示 sda3 分区设备的信息,它们包括:读计数、读取的扇区数,写计数,分区写请求总数
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!


Pendant des années, la distribution des logiciels Linux reposait sur des formats natifs comme Deb et RPM, profondément ancrés dans l'écosystème de chaque distribution. Cependant, Flatpak et Snap ont émergé, promettant une approche universelle de l'emballage des applications. Cet article examine

Les différences entre Linux et Windows dans la manutention des pilotes de périphériques se reflètent principalement dans la flexibilité de la gestion des pilotes et de l'environnement de développement. 1. Linux adopte une conception modulaire, et le pilote peut être chargé et désinstallé dynamiquement. Les développeurs doivent avoir une compréhension approfondie du mécanisme du noyau. 2. Windows s'appuie sur l'écosystème Microsoft, et le pilote doit être développé via WDK et signé et certifié. Le développement est relativement complexe mais assure la stabilité et la sécurité du système.

Les modèles de sécurité de Linux et Windows ont chacun leurs propres avantages. Linux offre une flexibilité et une personnalisation, permettant la sécurité via les autorisations utilisateur, les autorisations du système de fichiers et Selinux / Apparmor. Windows se concentre sur la convivialité et s'appuie sur Windowsdefender, UAC, pare-feu et bitlocker pour assurer la sécurité.

Linux et Windows diffèrent dans la compatibilité matérielle: Windows a une prise en charge approfondie du pilote, et Linux dépend de la communauté et des fournisseurs. Pour résoudre les problèmes de compatibilité Linux, vous pouvez compiler manuellement les pilotes, tels que le clonage du référentiel de pilotes RTL8188EU, la compilation et l'installation; Les utilisateurs de Windows doivent gérer les conducteurs pour optimiser les performances.

Les principales différences entre Linux et Windows dans le support de virtualisation sont: 1) Linux fournit KVM et Xen, avec des performances et une flexibilité exceptionnelles, adaptées aux environnements de personnalisation élevés; 2) Windows prend en charge la virtualisation via Hyper-V, avec une interface amicale, et est étroitement intégré à l'écosystème Microsoft, adapté aux entreprises qui reposent sur le logiciel Microsoft.

Les principales tâches des administrateurs système Linux incluent la surveillance du système et le réglage des performances, la gestion des utilisateurs, la gestion des packages de logiciels, la gestion de la sécurité et la sauvegarde, le dépannage et la résolution, l'optimisation des performances et les meilleures pratiques. 1. Utilisez le haut, le HTOP et d'autres outils pour surveiller les performances du système et régler. 2. Gérez les comptes d'utilisateurs et les autorisations via des commandes UserAdd et d'autres commandes. 3. Utilisez APT et YUM pour gérer les packages logiciels pour assurer les mises à jour du système et la sécurité. 4. Configurez un pare-feu, surveillez les journaux et effectuez une sauvegarde de données pour assurer la sécurité du système. 5. Dépannage et résoudre par l'analyse des journaux et l'utilisation des outils. 6. Optimiser les paramètres du noyau et la configuration des applications et suivre les meilleures pratiques pour améliorer les performances et la stabilité du système.

Apprendre Linux n'est pas difficile. 1.Linux est un système d'exploitation open source basé sur UNIX et est largement utilisé dans les serveurs, les systèmes intégrés et les ordinateurs personnels. 2. Comprendre le système de fichiers et la gestion de l'autorisation est la clé. Le système de fichiers est hiérarchique et les autorisations incluent la lecture, l'écriture et l'exécution. 3. Les systèmes de gestion des packages tels que APT et DNF rendent la gestion des logiciels pratique. 4. La gestion des processus est implémentée via PS et les commandes supérieures. 5. Commencez à apprendre à partir de commandes de base telles que MKDIR, CD, Touch et Nano, puis essayez une utilisation avancée telle que les scripts shell et le traitement de texte. 6. Les erreurs courantes telles que les problèmes d'autorisation peuvent être résolues via Sudo et CHMOD. 7. Les suggestions d'optimisation des performances incluent l'utilisation de HTOP pour surveiller les ressources, le nettoyage des fichiers inutiles et l'utilisation de SY


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

Version crackée d'EditPlus en chinois
Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

SublimeText3 version anglaise
Recommandé : version Win, prend en charge les invites de code !

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.
