ifconfig сообщает для eth0 некоторое значение RX = 2,8 ГБ, TX = 1,3 ГБ, которое не может быть реальным, поскольку я недавно передал много файлов размером 10 ГБ + через eth0. я бы хотел знать
Глупый вопрос, но меня беспокоит несоответствие.
Спасибо, Нильс
Я бы сказал, что это 4 ГБ, как вы догадываетесь. Я столкнулся с этим с относительно недавними 32-битными ядрами Linux.
Вы можете взять исходный код вашего ядра и посмотреть, совпадает ли он с include/linux/netdevice.h
и проверьте тип данных net_device_stats->rx_bytes
. Если вы используете 32-битную систему и время беззнаковое long, вы получите только 2 ^ 32 байта или 4 ГБ. Подробнее об этом в моем посте Вот.
Если конечно ifconfig не захватывает счетчики откуда-то помимо proc в наши дни ...
Вы можете настроить iptables для управления счетчиками - их можно даже заставить выдерживать перезагрузку с сохранением / восстановлением или ручной очисткой / установкой счетчиков на определенные значения.
Если у вас еще нет правил iptables, вам просто нужно добавить хотя бы одно правило в цепочки ввода и вывода, которое, например, разрешает все, и оно предоставит то, что вы хотите:
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
Затем вы можете увидеть итоги:
root@devcloner:~# iptables -n -vL
Chain INPUT (policy ACCEPT 2850K packets, 4183M bytes)
pkts bytes target prot opt in out source destination
22M 32G ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 657K packets, 43M bytes)
pkts bytes target prot opt in out source destination
12951 813K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
-x покажет полный счетчик байтов:
root@devcloner:~# iptables -n -vL -x
Chain INPUT (policy ACCEPT 2850263 packets, 4182667884 bytes)
pkts bytes target prot opt in out source destination
22285352 32724735127 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 657099 packets, 43320848 bytes)
pkts bytes target prot opt in out source destination
102453 6738544 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Эта информация, вероятно, может быть проанализирована где-нибудь из / proc или / sys.