首頁 > 系統教程 > Linux > 主體

如何監控 Linux 上進程的網路使用情況

WBOY
發布: 2024-02-05 16:45:02
轉載
1317 人瀏覽過

在電腦中,互聯網的存取是絕對必不可少的。然而,您可能會感興趣了解您的電腦上有哪些Linux進程正在最頻繁地使用連線。幸運的是,借助一些常見的Linux工具,監控使用頻寬的進程非常容易。以下是幾個工具的介紹:

  1. nethogs

nethogs是一個類似htop或top的程序,用來提供網路連線方面的CPU和記憶體使用情況。它可以快速查看哪些進程在使用網路連線。

與top、htop或atop類似,nethogs是一個全螢幕程序,每隔幾秒鐘更新一次,以顯示目前進程所建立的網路連線。

您可以透過套件管理器輕鬆安裝nethogs。

例如,在Debian和Ubuntu上:

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

在 Arch Linux 上:

sudo pacman -S nethogs
登入後複製

在 Red Hat 系列上:

sudo dnf install nethogs
登入後複製

要執行 nethogs,您需要以 root 身分執行:

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

您可以透過以下命令將其設定為可以以普通使用者身分執行 nethogs:

sudo setcap "cap_net_admin,cap_net_raw+pe" /path/to/nethogs
登入後複製

您應該將「/path/to/nethogs」替換為 nethogs 的絕對路徑名。您可以使用 which 命令找到它:

which nethogs
登入後複製

相關:

  • 如何使用htop來監控Linux系統流程 https://www.linuxmi.com/htop.html
  • # 沒有人教你的最重要的 Linux 指令 https://www.linuxmi.com/linux-commands-important.html

#2、lsof

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

#雖然 lsof 是一個用於列出開啟檔案的實用程序,但它也可以列出開啟的網路連線。 -i 選項列出了系統上正在運作的進程所附加的網路連線。畢竟,在 Linux 中,一切都是檔案。

要查看目前的網路連接,請使用以下命令:

linuxmi@linuxmi ~/www.linuxmi.com
 % lsof -i
登入後複製

lsof會顯示具有開啟的網路連線的任何命令的名稱、PID、檔案描述符、網路連線類型、大小、協定以及連線的正式檔案名稱。

使用 -i4 和 -i6 選項,您可以查看使用 IPv4 或 IPv6 的連線。

很有可能您已經安裝了 lsof。如果沒有安裝,在主要的 Linux 發行版上安裝也很容易。

在 Debian 和 Ubuntu 上,輸入:

sudo apt install lsof
登入後複製

而在 Arch 上:

sudo pacman -S lsof
登入後複製

在 Red Hat 系列的發行版上:

sudo dnf install lsof
登入後複製

3、netstat

#netstat 是一個強大的程序,可讓您查看系統上的網路連線。但它不會顯示網路連線附加到哪些進程。與 lsof 類似,您可以使用命令列選項來查看這些資訊。

netstat 是 net-tools 套件的一部分。您可以使用預設的軟體套件管理器在大多數 Linux 發行版上安裝它。

例如,在 Debian 或 Ubuntu 上:

sudo apt install net-tools
登入後複製

在 Arch Linux 上:

sudo pacman -S net-tools
登入後複製

要在 Fedora、CentOS 和 RHEL 上安裝 netstat,請執行:

sudo dnf install net-tools
登入後複製

您可以在命令列上執行 netstat。預設情況下,它會顯示連接的協定、位址和狀態,但 -p 選項會新增一列顯示進程 ID 和命令名稱。

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

當您執行 netstat 時,它將只列出所有網路連接,然後退出。使用 -c 選項,您可以看到一個持續更​​新的連線清單:

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

以上是如何監控 Linux 上進程的網路使用情況的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:lxlinux.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!