Maison  >  Article  >  Tutoriel système  >  Efficace et simple, un outil puissant pour la surveillance du système en mode batch Linux

Efficace et simple, un outil puissant pour la surveillance du système en mode batch Linux

王林
王林avant
2024-02-13 17:00:13947parcourir

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 commande

top 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]

Efficace et simple, un outil puissant pour la surveillance du système en mode batch Linux
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

Efficace et simple, un outil puissant pour la surveillance du système en mode batch Linux
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]

Efficace et simple, un outil puissant pour la surveillance du système en mode batch Linux
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
Efficace et simple, un outil puissant pour la surveillance du système en mode batch Linux

Résumé

La commande

top 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer