리눅스 컴퓨터에서 현재 총 대역폭 사용량을 얻는 좋은 방법을 찾고 있습니다. 나는 시도했다 iftop
, nethogs
그러나 그들은 시스템 모니터에 비해 실제 대역폭 사용량을 표시하지 않습니다; 그들은 내 프로젝트의 요구에 적합하지 않습니다. 나는 내가 실행하는 명령을 원하고 업로드 및 다운로드에 대한 현재 사용량을 반환합니다.
아무것도 설치하지 않고 기본 Linux 도구로 수행하고 싶습니다. 실제로 모니터링 응용 프로그램을 만들고 있으며 사용자가 모니터링하려는 각 컴퓨터에 무언가를 설치할 필요없이 컴퓨터를 모니터링 할 수 있기를 원합니다.
답변
사용-http iptraf
: //www.linuxcommand.org/man_pages/iptraf8.html
대역폭 사용을 포함하여 머신의 모든 인터페이스에 대한 통계를 제공 할 수있는 ncurses 기반 명령 줄 유틸리티입니다.
답변
당신이 사용할 수있는 도구가 많이있다 : nload
, bmon
, iftop
, vnstat
, ifstat
그냥 자신의 출력 (예를 들어, 업로드 및 다운로드)의 특정 부분을 얻으려면 … 그리고, 내가 확신 당신이 할 수 있어요 grep
/ cut
/ awk
출력 그것이 당신을 위해 작동하도록합니다.
답변
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:~ #