내장된 Linux 도구를 사용하여 명령줄에서 현재 대역폭 사용량을 확인하는 방법은 무엇입니까?

내장된 Linux 도구를 사용하여 명령줄에서 현재 대역폭 사용량을 확인하는 방법은 무엇입니까?

저는 Linux 시스템에서 현재 총 대역폭 사용량을 얻는 좋은 방법을 찾고 있습니다. iftop, 을 시도했지만 nethogs시스템 모니터와 비교하여 실제 대역폭 사용량을 표시하지 않습니다. 내 프로젝트의 요구 사항에 적합하지 않습니다. 내가 실행하는 명령을 원하며 업로드 및 다운로드에 대한 현재 사용량만 반환합니다.

아무것도 설치하지 않고 기본 Linux 도구를 사용하여 수행하고 싶습니다. 사실 저는 모니터링 응용 프로그램을 만들고 있는데 사용자가 모니터링하려는 각 컴퓨터에 무언가를 설치할 필요 없이 컴퓨터를 모니터링할 수 있기를 바랍니다. 그러면 좋을 것 같습니다!

답변1

사용 iptraf-http://www.linuxcommand.org/man_pages/iptraf8.html

이는 대역폭 사용량을 포함하여 시스템의 모든 인터페이스에 대한 통계를 제공할 수 있는 ncurses 기반 명령줄 유틸리티입니다.

답변2

사용할 수 있는 도구는 많습니다: nload, bmon, iftop, vnstat... 그리고 출력의 특정 부분(예: 업로드 및 다운로드)만 얻으려는 경우 // 출력을 ifstat수행할 수 있다고 확신합니다 . 당신을 위해 작동하도록합니다.grepcutawk

Linux 서버에서 네트워크 대역폭을 모니터링하는 18가지 명령

답변3

sysstat는 네트워크 상태도 수집합니다. "man sar"를 실행하면 기록 데이터를 보관할 수 있는 모든 리소스가 표시됩니다.

cron에 "/usr/lib/sa/sa1"(또는 /usr/lib64/sa/sa1) 명령을 입력하여 설정하고 데이터 포인트를 원할 때마다(예: 5분마다) 실행되도록 합니다.

그런 다음 "sar"를 사용하여 데이터를 볼 수 있습니다. 기본값은 오늘입니다. 최대 30일 동안의 기록 데이터도 볼 수 있습니다. 데이터를 영원히 보관할 수 있도록 보관할 수도 있습니다(매일 데이터는 약 8MB).

네트워킹의 경우 "sar -n"을 사용합니다.

훌륭한 도구 :)

예:

 testlinux:~ # sar -n DEV | head -10
 Linux 2.6.16.60-0.21-default (pCITFileSvr01)    11/07/10

 00:00:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
 00:05:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:05:01         eth0      9.95      0.12      1.42      0.02      0.00      0.00      0.00
 00:10:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 00:10:01         eth0     10.20      0.04      1.44      0.00      0.00      0.00      0.00
 00:15:01           lo      0.00      0.00      0.00      0.00      0.00       0.00      0.00
 00:15:01         eth0     10.32      0.12      1.50      0.02      0.00      0.00      0.00
 00:20:01           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
 testlinux:~ #

답변4

좋아요, 제가 조금 조사한 후에 찾았어요이것간단히 말해서 netstat네트워크 사용량을 요약하는 데 사용되는 솔루션입니다. 수정된 명령은 다음과 같습니다.

netstat -e -n -i | grep wlan0  -A 5 | grep 'RX packets' |  tail -1

출력 예:-

RX packets 76639  bytes 73706194 (70.2 MiB)

카드 인터페이스 이름을 변경 wlan0하면 해당 명령의 더 많은 출력을 필터링할 수 있습니다.

netstat -e -n -i | grep wlan0  -A 5 | grep 'RX packets' |  tail -1 | awk '{print $6$7}'

관련 정보