Avant-propos:
La commande top est un outil d'analyse des performances couramment utilisé sous Linux, qui peut afficher l'état d'occupation des ressources de chaque processus du système en temps réel, similaire au gestionnaire de tâches de Windows. Ce qui suit décrit son utilisation en détail. Le haut est un processus d'affichage dynamique, c'est-à-dire que l'état actuel peut être constamment actualisé en appuyant sur une touche de l'utilisateur. Si la commande est exécutée au premier plan, elle monopolise le premier plan jusqu'à ce que l'utilisateur termine le programme. Pour être plus précis, la commande top fournit une surveillance en temps réel de l'état du processeur système. Il affichera une liste des tâches les plus "sensibles" pour la CPU dans le système. Cette commande peut être utilisée par la CPU. Les tâches sont triées en fonction de l'utilisation de la mémoire et du temps d'exécution; et de nombreuses fonctionnalités de cette commande peuvent être définies via des commandes interactives ou dans des fichiers de personnalisation personnels.
1) Format de commande
top [参数]
2) Fonction de commande
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等等、
3) Paramètres de commande
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
4) Explication de chaque ligne après l'exécution de top
前五行是当前系统情况整体的统计信息区。下面我们看每一行信息的具体意义:
[root@hya ~]# top
top - 15:18:09 up 1:15, 2 users, load average: 0.00, 0.01, 0.03
Tasks: 120 total, 1 running, 119 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.1 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3863576 total, 3513132 free, 161800 used, 188644 buff/cache
KiB Swap: 4063228 total, 4063228 free, 0 used. 3459948 avail Mem
################################################################
第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:
15:18:09 — 当前系统时间
up 1:15 — 系统已经运行了2小时34分钟(在这期间系统没有重启过!)
2 users — 当前有2个用户登录系统
load average: 0.00, 0.01, 0.05 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
################################################################
第二行,Tasks — 任务(进程),具体信息说明如下: 系统现在共有120个进程,其中处于运行中的有1个,119个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
################################################################
第三行,cpu状态信息,具体属性说明如下:
0.0 us — 用户空间占用CPU的百分比。
0.1 sy — 内核空间占用CPU的百分比。
0.0 ni — 改变过优先级的进程占用CPU的百分比
99.9 id — 空闲CPU百分比
0.0 wa — IO等待占用CPU的百分比
0.0 hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.0 si — 软中断(Software Interrupts)占用CPU的百分比 备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!
################################################################
第四行,内存状态,具体信息如下:
3863576 total — 物理内存总量
3513132 used — 使用中的内存总量
161800 free — 空闲内存总量
188644 buffers/cache — 缓存的内存量
################################################################
第五行,swap交换分区信息,具体信息说明如下: 备注:第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。 如果出于习惯去计算可用内存数,这里有个近似的计算公式:第四行的free + 第四行的buffers + 第五行的cached,按这个公式此台服务器的可用内存。 对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了.
4063228 total — 交换区总量
4063228 free — 空闲交换区总量
0k used — 使用的交换区总量
3459948 avail Mem — 缓冲的交换区可用内存量
###############################################################
第六行是空行
###############################################################
第七行以下:各进程(任务)的状态监控,项目列信息说明如下:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
- RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
5) Un petit truc tous les jours
- Surveillance de CPU multicœur Multi-U Dans la vue de base supérieure, appuyez sur le numéro de clavier "1" pour surveiller l'état de chaque CPU logique: Observez l'image ci-dessus, le serveur a 0 CPU logiques, mais en fait 1 CPU physique. Appuyez à nouveau sur la touche numérique 1 pour revenir à l'interface de vue de base supérieure.
- Mettez en surbrillance le processus en cours d'exécution et appuyez sur le clavier "b" (pour activer / désactiver l'effet de surbrillance), la vue de dessus change comme suit:
- Le processus supérieur est le seul processus en cours affiché sur la deuxième ligne de la vue. L'effet de mise en évidence du processus en cours peut être désactivé ou activé en appuyant sur la touche "y".
- Lorsque le tri des champs de processus entre en haut par défaut, chaque processus est trié en fonction de l'utilisation du processeur.
- 4. Utilisez "shift +>" ou "shift + <" pour changer la séquence de tri vers la droite ou la gauche
# L'image ci-dessous est l'image d'effet en appuyant une fois sur "shift +>", et la vue a maintenant été triée en fonction de% MEM. #
6) Petit théâtre pratique
[root@hya ~]# top -c 显示完整命令
[root@hya ~]# top -b 以批处理模式显示程序信息
[root@hya ~]# top -S 以累积模式显示程序信息
[root@hya ~]# top -n 2 设置信息更新次数
说明:更新两次后终止更新
[root@hya ~]# top -d 3 设置信息更新时间
说明:表示更新周期为3秒
[root@hya ~]# top -p 1234 显示指定的进程信息
7) Petit résumé
Top commandes interactives: certaines commandes interactives qui peuvent être utilisées lors de l'exécution de la commande top. Ces commandes sont à une seule lettre. Si l'option s est utilisée dans la ligne de commande, certaines de ces commandes peuvent être bloquées.
- h Affichez l'écran d'aide et donnez de brèves instructions récapitulatives des commandes
- k Mettre fin à un processus.
- i Ignorez les processus inactifs et morts. Ceci est une commande de commutation.
- q Quittez le programme
- r réorganiser la priorité d'un processus
- S Passer en mode accumulation
- s Changez le temps de retard entre deux rafraîchissements (l'unité est s), s'il y a une décimale, il est converti en ms. Entrez une valeur de 0 et le système continuera à s'actualiser, la valeur par défaut est 5s
- f ou F ajouter ou supprimer des éléments de l'affichage actuel
- o ou O changer l'ordre des éléments affichés
- l Commutateur d'affichage de la charge moyenne et de l'heure de démarrage
- m commutateur d'affichage des informations de mémoire
- Processus d'affichage du commutateur et informations sur l'état de la CPU
- c commutateur affiche le nom de la commande et la ligne de commande complète
- M est trié en fonction de la taille de la mémoire résidente
- P est trié en fonction du pourcentage d'utilisation du processeur
- T Trier par temps / temps cumulé
- W Ecrivez les paramètres actuels dans le fichier ~ / .toprc