Я хочу проверить использование сетевой карты во время выполнения тестов с интенсивным обменом данными. Кто-нибудь может сказать мне, какую команду unix/linux я могу использовать для мониторинга сетевого трафика?
3 ответа
В системах Unix команда netstat покажет количество байтов в или из одного или всех интерфейсов. В OS X следующая команда будет подсчитывать байты каждые 2 секунды на интерфейсе en1:
netstat -I en1 -w 2
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo:2177834690 1139773238 0 0 0 0 0 0 2177834690 1139773238 0 0 0 0 0 0
bond0:3681835441 1226421522 0 0 0 0 0 0 944494243 1166445844 0 0 0 0 0 0
eth0:4102575683 1178937980 0 0 0 0 0 0 944490971 1166445811 0 0 0 0 0 0
eth1:3874227054 47483542 0 0 0 0 0 0 3272 33 0 0 0 0 0 0
eth2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth3: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth4: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth5: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Если вы хотите получить более подробную статистику 'ethtool' или специальные утилиты для водителя, то вам лучше всего это сделать.
Какой Linux вы используете - это будет зависеть от этого. Если вы используете Centos или Ubuntu, вы можете использовать Iptraf. Он показывает индивидуальные соединения и объем данных, передаваемых между хостами (по интерфейсу).
Чтобы установить утилиту:
\# Centos (base repo)
$ yum install iptraf
\# fedora or centos (with epel)
$ yum install iptraf-ng -y
\# ubuntu or debian
$ sudo apt-get install iptraf iptraf-ng
Чтобы запустить утилиту:
\# iptraf