Heim  >  Artikel  >  System-Tutorial  >  So überwachen Sie die Netzwerknutzung von Prozessen unter Linux

So überwachen Sie die Netzwerknutzung von Prozessen unter Linux

WBOY
WBOYnach vorne
2024-02-05 16:45:021310Durchsuche

Bei Computern ist der Zugang zum Internet unbedingt erforderlich. Möglicherweise möchten Sie jedoch wissen, welche Linux-Prozesse auf Ihrem Computer die Verbindungen am häufigsten nutzen. Glücklicherweise ist die Überwachung von Prozessen, die Bandbreite nutzen, mithilfe einiger gängiger Linux-Tools sehr einfach. Im Folgenden finden Sie eine Einführung in mehrere Tools:

  1. Nettoschweine

nethogs ist ein Programm ähnlich wie htop oder top, das die CPU- und Speicherauslastung in Bezug auf die Internetverbindung bereitstellt. Es bietet einen schnellen Überblick darüber, welche Prozesse eine Netzwerkverbindung verwenden.

Nethogs ist ähnlich wie top, htop oder atop ein Vollbildprogramm, das alle paar Sekunden aktualisiert wird, um die durch den aktuellen Prozess hergestellten Netzwerkverbindungen anzuzeigen.

Sie können Nethogs ganz einfach über Ihren Paketmanager installieren.

Zum Beispiel unter Debian und Ubuntu:

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

Auf Arch Linux:

sudo pacman -S nethogs

Zur Red Hat-Serie:

sudo dnf install nethogs

Um Nethogs auszuführen, müssen Sie als Root ausgeführt werden:

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

Mit dem folgenden Befehl können Sie es so einrichten, dass Nethogs als normaler Benutzer ausgeführt wird:

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

Sie sollten „/path/to/nethogs“ durch den absoluten Pfadnamen von nethogs ersetzen. Sie finden es mit dem folgenden Befehl:

which nethogs

Verwandt:

  • So verwenden Sie htop zur Überwachung von Linux-Systemprozessen https://www.linuxmi.com/htop.html
  • Die wichtigsten Linux-Befehle bringt Ihnen niemand bei https://www.linuxmi.com/linux-commands-important.html

2、lsof

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

Während lsof ein Dienstprogramm zum Auflisten offener Dateien ist, kann es auch offene Netzwerkverbindungen auflisten. Die Option -i listet Internetverbindungen auf, die mit Prozessen verbunden sind, die auf dem System ausgeführt werden. Schließlich ist unter Linux alles eine Datei.

Um Ihre aktuelle Internetverbindung anzuzeigen, verwenden Sie den folgenden Befehl:

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

lsof zeigt den Namen, die PID, den Dateideskriptor, den Internetverbindungstyp, die Größe, das Protokoll und den offiziellen Dateinamen der Verbindung für jeden Befehl an, der über eine offene Internetverbindung verfügt.

Mit den Optionen -i4 und -i6 können Sie Verbindungen über IPv4 oder IPv6 anzeigen.

Höchstwahrscheinlich haben Sie lsof bereits installiert. Wenn Sie es nicht installiert haben, können Sie es problemlos auf den wichtigsten Linux-Distributionen installieren.

Geben Sie unter Debian und Ubuntu Folgendes ein:

sudo apt install lsof

Und auf Arch:

sudo pacman -S lsof

Zu den Distributionen der Red Hat-Serie:

sudo dnf install lsof

3, netstat

netstat ist ein leistungsstarkes Programm, mit dem Sie Netzwerkverbindungen auf Ihrem System anzeigen können. Es wird jedoch nicht angezeigt, mit welchen Prozessen die Netzwerkverbindung verbunden ist. Wie bei lsof können Sie Befehlszeilenoptionen verwenden, um diese Informationen anzuzeigen.

netstat ist Teil des Net-Tools-Pakets. Sie können es auf den meisten Linux-Distributionen mit dem Standardpaketmanager installieren.

Zum Beispiel auf Debian oder Ubuntu:

sudo apt install net-tools

Auf Arch Linux:

sudo pacman -S net-tools

Um netstat auf Fedora, CentOS und RHEL zu installieren, führen Sie Folgendes aus:

sudo dnf install net-tools

Sie können netstat in der Befehlszeile ausführen. Standardmäßig werden das Protokoll, die Adresse und der Status der Verbindung angezeigt, aber die Option -p fügt eine Spalte mit der Prozess-ID und dem Befehlsnamen hinzu.

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

Wenn Sie netstat ausführen, werden lediglich alle Netzwerkverbindungen aufgelistet und dann beendet. Mit der Option -c können Sie eine ständig aktualisierte Liste der Verbindungen anzeigen:

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 上,您可以轻松终止任何恶意进程。

Das obige ist der detaillierte Inhalt vonSo überwachen Sie die Netzwerknutzung von Prozessen unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lxlinux.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen