>  기사  >  시스템 튜토리얼  >  Linux에서 프로세스의 네트워크 사용량을 모니터링하는 방법

Linux에서 프로세스의 네트워크 사용량을 모니터링하는 방법

WBOY
WBOY앞으로
2024-02-05 16:45:021342검색

컴퓨터에서는 인터넷 접속이 절대적으로 필요합니다. 그러나 컴퓨터에서 어떤 Linux 프로세스가 가장 자주 연결을 사용하고 있는지 알고 싶을 수도 있습니다. 다행스럽게도 몇 가지 일반적인 Linux 도구를 사용하면 대역폭을 사용하여 프로세스를 모니터링하는 것이 매우 쉽습니다. 다음은 여러 도구에 대한 소개입니다.

  1. nethogs

nethogs는 인터넷 연결 측면에서 CPU 및 메모리 사용량을 제공하는 htop 또는 top과 유사한 프로그램입니다. 이는 어떤 프로세스가 네트워크 연결을 사용하고 있는지 빠르게 보여줍니다.

top, htop 또는 atop과 유사한 nethogs는 현재 프로세스에서 설정된 네트워크 연결을 표시하기 위해 몇 초마다 업데이트하는 전체 화면 프로그램입니다.

패키지 관리자를 통해 nethogs를 쉽게 설치할 수 있습니다.

예를 들어 Debian 및 Ubuntu의 경우:

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

아치 리눅스:

으아악

Red Hat 시리즈:

으아악

nethogs를 실행하려면 루트로 실행해야 합니다:

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

다음 명령을 사용하여 일반 사용자로 nethogs를 실행하도록 설정할 수 있습니다:

으아악

"/path/to/nethogs"를 nethogs의 절대 경로 이름으로 바꿔야 합니다. 다음 명령을 사용하여 찾을 수 있습니다:

으아악

관련:

  • htop을 사용하여 Linux 시스템 프로세스를 모니터링하는 방법 https://www.linuxmi.com/htop.html
  • 아무도 가르쳐주지 않는 가장 중요한 Linux 명령 https://www.linuxmi.com/linux-commands-important.html

2、lsof

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

lsof는 열려 있는 파일을 나열하는 유틸리티이지만 열려 있는 네트워크 연결도 나열할 수 있습니다. -i 옵션은 시스템에서 실행 중인 프로세스에 연결된 인터넷 연결을 나열합니다. 결국 Linux에서는 모든 것이 파일입니다.

현재 인터넷 연결을 보려면 다음 명령을 사용하세요:

으아악

lsof는 인터넷 연결이 열려 있는 모든 명령에 대한 이름, PID, 파일 설명자, 인터넷 연결 유형, 크기, 프로토콜 및 연결의 공식 파일 이름을 표시합니다.

-i4 및 -i6 옵션을 사용하면 IPv4 또는 IPv6를 사용하는 연결을 볼 수 있습니다.

아마도 lsof가 이미 설치되어 있을 것입니다. 설치되어 있지 않은 경우 주요 Linux 배포판에 쉽게 설치할 수 있습니다.

Debian 및 Ubuntu에서는 다음을 입력하세요.

으아악

그리고 Arch의 경우:

으아악

Red Hat 시리즈 배포판:

으아악

3, netstat

netstat는 시스템의 네트워크 연결을 볼 수 있는 강력한 프로그램입니다. 그러나 네트워크 연결이 연결된 프로세스는 표시되지 않습니다. lsof와 마찬가지로 명령줄 옵션을 사용하여 이 정보를 볼 수 있습니다.

netstat는 net-tools 패키지의 일부입니다. 기본 패키지 관리자를 사용하여 대부분의 Linux 배포판에 설치할 수 있습니다.

예를 들어 Debian 또는 Ubuntu의 경우:

으아악

아치 리눅스:

으아악

Fedora, CentOS 및 RHEL에 netstat를 설치하려면 다음을 실행하세요.

으아악

명령줄에서 netstat를 실행할 수 있습니다. 기본적으로 연결의 프로토콜, 주소 및 상태를 표시하지만 -p 옵션은 프로세스 ID 및 명령 이름을 표시하는 열을 추가합니다.

으아악 如何监控 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으로 문의하시기 바랍니다. 삭제