Maison  >  Article  >  Tutoriel système  >  Comment surveiller l'utilisation du réseau des processus sous Linux

Comment surveiller l'utilisation du réseau des processus sous Linux

WBOY
WBOYavant
2024-02-05 16:45:021310parcourir

En informatique, l'accès à Internet est absolument indispensable. Cependant, vous souhaiterez peut-être savoir quels processus Linux sur votre ordinateur utilisent le plus fréquemment les connexions. Heureusement, la surveillance des processus utilisant la bande passante est très simple à l'aide de certains outils Linux courants. Ce qui suit est une introduction à plusieurs outils :

  1. nethogs

nethogs est un programme similaire à htop ou top qui fournit l'utilisation du processeur et de la mémoire en termes de connexion Internet. Il fournit un aperçu rapide des processus qui utilisent une connexion réseau.

Semblable à top, htop ou atop, nethogs est un programme plein écran qui se met à jour toutes les quelques secondes pour afficher les connexions réseau établies par le processus en cours.

Vous pouvez facilement installer nethogs via votre gestionnaire de packages.

Par exemple, sur Debian et Ubuntu :

linuxmi@linuxmi ~/www.linuxmi.com
 % sudo apt install nethogs
如何监控 Linux 上进程的网络使用情况

Sur Arch Linux :

sudo pacman -S nethogs

Sur la série Red Hat :

sudo dnf install nethogs

Pour exécuter Nethogs, vous devez l'exécuter en tant que root :

linuxmi@linuxmi ~/www.linuxmi.com
 % sudo nethogs
如何监控 Linux 上进程的网络使用情况

Vous pouvez le configurer pour exécuter nethogs en tant qu'utilisateur normal avec la commande suivante :

sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs

Vous devez remplacer "/path/to/nethogs" par le chemin absolu des nethogs. Vous pouvez le trouver en utilisant quelle commande :

which nethogs

Connexe :

  • Comment utiliser htop pour surveiller les processus du système Linux https://www.linuxmi.com/htop.html
  • Les commandes Linux les plus importantes que personne ne vous apprend https://www.linuxmi.com/linux-commands-important.html

2、lsof

如何监控 Linux 上进程的网络使用情况

Bien que lsof soit un utilitaire permettant de répertorier les fichiers ouverts, il peut également répertorier les connexions réseau ouvertes. L'option -i répertorie les connexions Internet attachées aux processus exécutés sur le système. Après tout, sous Linux, tout est un fichier.

Pour afficher votre connexion Internet actuelle, utilisez la commande suivante :

linuxmi@linuxmi ~/www.linuxmi.com
 % lsof -i

lsof affiche le nom, le PID, le descripteur de fichier, le type de connexion Internet, la taille, le protocole et le nom de fichier officiel de la connexion pour toute commande disposant d'une connexion Internet ouverte.

En utilisant les options -i4 et -i6, vous pouvez afficher les connexions utilisant IPv4 ou IPv6.

Il est très probable que vous ayez déjà installé lsof. Si vous ne l'avez pas installé, il est facile à installer sur les principales distributions Linux.

Sur Debian et Ubuntu, saisissez :

sudo apt install lsof

Et sur Arch :

sudo pacman -S lsof

Sur les distributions de la série Red Hat :

sudo dnf install lsof

3, netstat

netstat est un programme puissant qui vous permet de visualiser les connexions réseau sur votre système. Mais il n'indique pas à quels processus la connexion réseau est attachée. Comme lsof, vous pouvez utiliser les options de ligne de commande pour afficher ces informations.

netstat fait partie du package net-tools. Vous pouvez l'installer sur la plupart des distributions Linux à l'aide du gestionnaire de packages par défaut.

Par exemple, sur Debian ou Ubuntu :

sudo apt install net-tools

Sur Arch Linux :

sudo pacman -S net-tools

Pour installer netstat sur Fedora, CentOS et RHEL, exécutez :

sudo dnf install net-tools

Vous pouvez exécuter netstat sur la ligne de commande. Par défaut, il affiche le protocole, l'adresse et l'état de la connexion, mais l'option -p ajoute une colonne affichant l'ID du processus et le nom de la commande.

linuxmi@linuxmi ~/www.linuxmi.com
 % netstat -p
如何监控 Linux 上进程的网络使用情况

Lorsque vous exécutez netstat, il répertorie simplement toutes les connexions réseau, puis quitte. En utilisant l'option -c, vous pouvez voir une liste de connexions continuellement mise à jour :

linuxmi@linuxmi ~/www.linuxmi.com
 % netstat -pc
如何监控 Linux 上进程的网络使用情况

这与使用像 nethogs 这样的面向屏幕的程序类似,但以这种方式进行的优点是您可以将输出管道传输到另一个程序,如 grep 或分页程序,以便检查它:

linuxmi@linuxmi ~/www.linuxmi.com
 % netstat -p | grep 'systemd'
如何监控 Linux 上进程的网络使用情况

要查看系统上具有网络连接的所有进程,您可能需要以 root 身份运行 netstat:

linuxmi@linuxmi ~/www.linuxmi.com
 % sudo netstat
如何监控 Linux 上进程的网络使用情况

相关:Linux 下 12 个监视网络连接的 ss 命令示例 https://www.linuxmi.com/linux-ss-command.html

现在您可以看到哪些 Linux 应用程序在占用您的带宽

与许多现代操作系统一样,Linux 与互联网紧密连接。有时候很难追踪哪些进程在使用您的带宽。通过使用 nethogs、lsof 和 netstat 等工具,您可以找到具有打开连接的进程。

有时进程会失控,即使有连接。在 Linux 上,您可以轻松终止任何恶意进程。

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