Dans les systèmes Linux, nous devons souvent surveiller et ajuster les ressources système pour garantir le fonctionnement normal et l'utilisation efficace du système. L'utilisation de la commande top est l'une des méthodes de surveillance du système les plus courantes, mais en fonctionnement réel, l'interface interactive de la commande top n'est pas pratique, en particulier lorsque la charge d'exécution du système est élevée, l'actualisation en temps réel de la commande top apportera charge supplémentaire du système. Cet article présentera un outil de surveillance du système plus efficace et plus simple en mode batch Linux - la commande top en mode batch.
La commandetop est utilisée pour afficher l'activité de traitement en temps réel dans un système Linux, ainsi que les tâches gérées par le noyau. Il affichera l'utilisation du processeur et de la mémoire ainsi que d'autres informations telles que les programmes en cours d'exécution. Vous pouvez profiter des options du mode script pour transférer la sortie de la commande supérieure vers d'autres applications ou fichiers.
Comment utiliser le mode script de commande Top
Dans Centos8, nous exécutons les commandes de cet article. La commande suivante trie les données par utilisation du processeur et imprime les 20 premières lignes spécifiées dans la commande.
[root@localhost ~]# top -bc -n 1 | head -20 top - 22:23:02 up 6 days, 12:36, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 186 total, 2 running, 184 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 886.5 free, 277.0 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1333.1 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd/s ystemd --switch+ 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [kthreadd] 3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_gp] 4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [rcu_par_gp] 6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [kworker/0:0H-kblockd] 9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [mm_percpu_wq] 10 root 20 0 0 0 0 S 0.0 0.0 0:00.70 [ksoftirqd/0] 11 root 20 0 0 0 0 I 0.0 0.0 0:02.64 [rcu_sched] 12 root rt 0 0 0 0 S 0.0 0.0 0:00.00 [migration/0] 13 root rt 0 0 0 0 S 0.0 0.0 0:00.45 [watchdog/0] 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [cpuhp/0] 16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kdevtmpfs] 17 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 [netns]
Si vous souhaitez trier par utilisation de la mémoire, vous devez utiliser la commande suivante :
[root@localhost ~]# top -bc -o +%MEM -n 1 | head -n 20 top - 22:26:01 up 6 days, 12:39, 2 users, load average: 0.00, 0.00, 0.00 Tasks: 187 total, 1 running, 186 sleeping, 0 stopped, 0 zombie %Cpu(s): 5.9 us, 5.9 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 834.6 free, 329.0 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1281.2 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 22531 root 20 0 615344 75672 25780 S 0.0 4.1 0:00.80 node /usr/ local/bin/evilscan 192.+ 968 root 20 0 413544 35488 34188 S 0.0 1.9 0:02.32 /usr/libexec/sss d/sssd_nss --uid + 971 root 20 0 462996 34880 14700 S 0.0 1.9 0:00.65 /usr/libexec/plat form-python -s /+ 997 root 20 0 612436 28888 14600 S 0.0 1.6 0:35.22 /usr/libexec/platfo rm-python -Es + 948 polkitd 20 0 1772752 23756 16596 S 0.0 1.3 0:00.30 /usr/lib/polkit-1/p olkitd --no-de+ 980 root 20 0 753768 18484 15908 S 0.0 1.0 0:05.09 /usr/sbin/NetworkMan ager --no-dae+ 813 root 20 0 118756 14588 13040 S 0.0 0.8 0:04.79 /usr/lib/systemd/sys temd-journald 966 root 20 0 402088 12008 9900 S 0.0 0.7 0:01.93 /usr/libexec/sssd/ss sd_be --domai+ 950 root 20 0 395652 11736 10132 S 0.0 0.6 0:00.34 /usr/sbin/sssd -i --logger=files 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd/s ystemd --switch+ 6620 root 20 0 152796 10216 8992 S 0.0 0.6 0:00.01 sshd: root [priv] 840 root 20 0 115684 9876 7312 S 0.0 0.5 0:00.47 /usr/lib/systemd /systemd-udevd 6623 root 20 0 93708 9500 8112 S 0.0 0.5 0:00.04 /usr/lib/systemd/ systemd --user
Les options utilisées par la commande top
dans la commande ci-dessus sont expliquées comme suit :
-b
: Exécuter le mode script-c
: Afficher le chemin complet de la commande dans la colonne COMMANDE-n
: Spécifie le nombre maximum d'itérations que top doit produire avant de terminer. -o
: Définit le champ sur lequel trier. En mode batch, utilisez la commande top pour organiser les données en fonction de la durée d'utilisation du processus. Il indique la quantité totale de temps CPU consommée par le processus depuis son démarrage. Utilisez la commande suivante pour afficher :
[root@localhost ~]# top -bc -o TIME+ -n 1 | head -n 20 top - 22:31:20 up 6 days, 12:44, 2 users, load average: 0.00, 0.04, 0.01 Tasks: 187 total, 1 running, 186 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st MiB Mem : 1792.0 total, 843.4 free, 320.1 used, 628.4 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 1290.0 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 997 root 20 0 612436 28888 14600 S 0.0 1.6 0:35.24 /usr/libexec /platform-python -Es + 946 root 20 0 160120 6460 5656 S 0.0 0.4 0:06.08 /sbin/rngd -f 980 root 20 0 753768 18484 15908 S 0.0 1.0 0:05.10 /usr/sbin/Netw orkManager --no-dae+ 813 root 20 0 118756 14588 13040 S 0.0 0.8 0:04.79 /usr/lib/systemd /systemd-journald 1 root 20 0 176848 10824 8116 S 0.0 0.6 0:04.50 /usr/lib/systemd /systemd --switch+ 727 root 20 0 0 0 0 S 0.0 0.0 0:02.77 [xfsaild/dm-0] 11 root 20 0 0 0 0 I 0.0 0.0 0:02.65 [rcu_sched] 968 root 20 0 413544 35488 34188 S 0.0 1.9 0:02.32 /usr/libexec/sss d/sssd_nss --uid + 966 root 20 0 402088 12008 9900 S 0.0 0.7 0:01.93 /usr/libexec/ss sd/sssd_be --domai+ 954 chrony 20 0 29444 2652 2400 S 0.0 0.1 0:01.16 /usr/sbin/chronyd 945 dbus 20 0 74704 5896 5096 S 0.0 0.3 0:01.15 /usr/bin/dbus-daemon --system --a+ 24 root 39 19 0 0 0 S 0.0 0.0 0:01.13 [khugepaged] 10 root 20 0 0 0 0 S 0.0 0.0 0:00.79 [ksoftirqd/0]
Les résultats de sortie de top peuvent être enregistrés dans un fichier comme suit :
[root@localhost ~]# top -bc | head -30 > top-information.txt
Résumé
La commandetop est utilisée pour afficher l'activité de traitement en temps réel dans un système Linux, ainsi que les tâches gérées par le noyau. Il affichera l'utilisation du processeur et de la mémoire ainsi que d'autres informations telles que les programmes en cours d'exécution. Vous pouvez profiter des options du mode script pour transférer la sortie de la commande supérieure vers d'autres applications ou fichiers.
Grâce à l'introduction de cet article, nous pouvons voir que l'utilisation de la commande top en mode batch dans les systèmes Linux peut surveiller les ressources système plus efficacement et éviter le fardeau des interfaces interactives. Nous pouvons passer en mode batch en définissant le paramètre -b de la commande top. Nous pouvons également utiliser d'autres paramètres pour personnaliser les résultats de sortie, définir l'intervalle de rafraîchissement, etc. Nous pensons que de cette manière, nous pouvons surveiller et ajuster le système plus facilement et plus efficacement, et améliorer l'efficacité opérationnelle du système.
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!