Добро пожаловать,
Я использую носатый для наблюдения статистики сетевой нагрузки с выборкой каждые 8 секунд для получения несколько более гладкой диаграммы истории. К сожалению, все значения, которые я получаю, не являются средними в течение этих 8 вторых периодов, но они выбираются от намного меньшего отрезка времени, таким образом, диаграммы являются изменчивым тем же, как будто они были выбраны с 1 секунды или меньше.
Там какой-либо путь состоит в том, чтобы стать носатым (или по крайней мере Системный монитор) свойства системы отображения, усредненные в течение указанного количества времени, точно так же, как диспетчер задач Windows делает?
Я хотел бы иметь носатое использование жесткого диска дисплея от iostat, но будет мало использования если это, если носатые моментальные значения отчетов, не усредняемые со временем.
править: Существует полурешение определенной сетевой проблемы в утилите ifstat. Эта программа, если выполнено
ifstat 8 1
действительно дает надлежащие средние числа сетевой нагрузки по 8-секундному интервалу. Но от очевидных причин этот вызов берет 8-секундный для завершения. Я пытаюсь изучить достаточно lua для получения этой работы.
Если Вы хотите, чтобы программа дала Вам хороший обзор сетевой активности, vnstat
вероятно, что Вы что; как я отмечаю ниже Вас, может использовать названную программу vnstati
чтобы дать Вам график требуемого времени структурируют от vnstat
база данных.
Во-первых, загрузите программы:
sudo apt-get install vnstat vnstati
Настройте базу данных первоначально, если интерфейс, который Вы хотите контролировать, eth0
; можно использовать эту команду для обновления базы данных позже:
sudo vnstat -u -i eth0
Если Ваш интерфейс по умолчанию не eth0
, можно изменить его любой путем редактирования интерфейсной записи по умолчанию в /etc/vnstat.conf
или просто путем создания a .vnstat
файл в Вашей домашней папке и добавлении Interface "eth1"
наверху файла.
Vnstat
контролирует Ваше использование сети на указанном адаптере, хотя Вы видите живые детали путем ввода:
vnstat -l -i eth0
Можно также просмотреть статистику из командной строки по часам, неделя, месяц, и т.д. (хотя лучше делать, обновление базы данных сначала с sudo управляет далее выше). Вот команда в качестве примера для отображения ежедневного использования: (замена d
для h
для почасового, w
для еженедельника)
vnstat -d -i eth0
Намного больше статистического анализа доступно с vnstat
, посмотрите man vnstat
или страницы справочника Ubuntu онлайн.
Посмотрите графики от vnstati
ниже использования следующих команд для показа почасового использования и ежедневного использования: (Можно также показать еженедельно, ежемесячно, и т.д., времена и отобразиться, данные по-разному) (Снова делают обновление базы данных с vnstat
прежде, чем выполнить их vnstati
команды)
vnstati -h -i eth1 -o net.png
vnstati -d -i eth1 -o net2.png
(Первый график является несколько пробелом, поскольку я только что начал использовать vnstat
и по тому, как мой интерфейс по умолчанию eth1
, тогда как Ваш, вероятно, eth0
)
Для большего количества опций на vnstati
и вся статистика от vnstat
база данных, которую это может произвести, видит man vnstati
и страницы справочника Ubuntu онлайн.
Ну, это могло бы быть очень сыро (я не эксперт в сценариях программирования, и это - моя самая первая программа, записанная в Lua), но это действительно решает мою проблему.
Это работает путем вызова делания-netstat в фоновом режиме, которое называет ifstat который средняя статистика для немного меньше, чем носатый интервал обновления (8 секунд). Результаты записаны во временный файл, который впоследствии читается в следующем выполнении обновления носатых.
Из-за диска ввод-вывод это не рекомендуемое решение для пользователей дисков SSD. Статистические данные также не составляют 0,5 вторых разрыва, которые существуют для предотвращения условий состязания между, делают-netstat и носатое.
Я создал эти несколько файлов в ~/.conky каталог. сделайте-netstats.sh:
#!/bin/sh
ifstat -i wlan0 -n $1 1|tail -n 1 >~/.conky/wifi-stats-new.txt
cp ~/.conky/wifi-stats-new.txt ~/.conky/wifi-stats.txt
call-make-netstats.sh: (по некоторым причинам, ~'', поскольку не работает ярлык на корневой каталог, таким образом, я поместил весь домашний путь к папке.)
#!/bin/sh
/home/adam/.conky/make-netstats.sh $1 &
netstat.lua:
do
function conky_prepare_wlan_stats(czas)
os.execute("/home/adam/.conky/call-make-netstats.sh " .. czas)
end
function conky_get_wlan_input()
local f = io.open("/home/adam/.conky/wifi-stats.txt", "r")
local str = f:read("*all")
local sin = string.gsub(str, "^%s*([%d%.]+)%s*([%d%.]+)%s*","%1")
return sin
end
function conky_get_wlan_output()
local f = io.open("/home/adam/.conky/wifi-stats.txt", "r")
local str = f:read("*all")
local out = string.gsub(str, "^%s*([%d%.]+)%s*([%d%.]+)%s*","%2")
return out
end
end
И наконец мы используем его в .conky.rc следующим образом:
${font Goudy Bookletter 1911:style=Normal}WIRELESS${font} ${hr 2}
${voffset 4}${font PizzaDude Bullets:size=14}O${font} Up: ${lua conky_get_wlan_output} ${alignr} ${voffset -10} ${lua_graph conky_get_wlan_output 20,200 300}
${lua conky_prepare_wlan_stats 7.5} #The function prepares statistics for another refresh of conky stat. 7.5 is slightly less then 8 seconds to prevent from overlap.1
${voffset -30}${font PizzaDude Bullets:size=14}U${font} Down: ${lua conky_get_wlan_input} ${alignr} ${voffset -10} ${lua_graph conky_get_wlan_input 20,200 300}