问题描述
我想知道是否有任何好的应用程序可以监控我一个月内在笔记本电脑上使用了多少数据。我的网络连接限制了我可以使用多少数据,之后速度会大大下降。我看到了 ntop,但我只是想问一下是否有任何其他好的选择或建议。\n问候。
最佳办法
我遇到了类似的情况,但是在达到一定的数据使用量后速度很慢(现在我有一个 16 GB 12 Mbit 计划 \u263a)并且我使用了 vnstat
(包 vnstat
)。这是一个 命令行 应用程序,显示今天和前几天的带宽使用情况。一旦安装,它将开始监控使用情况。
使用情况:运行vnstat
查看统计信息,运行vnstat -d
查看日常使用情况。如果您使用的是无线网络,请将 -i wlan0
添加到上一个命令。通过运行 man vnstat
查看它的手册页以获取更多信息。
次佳办法
vnStat – 基于控制台的轻量级网络监视器
vnStat 是一个用于 Linux 和 BSD 的基于控制台的网络流量监控器,用于记录所选接口的网络流量。它使用内核提供的网络接口统计信息作为信息源。这意味着 vnStat 实际上不会嗅探任何流量,并且还可以确保系统资源的轻量使用。
在本教程中,我们将回顾:
-
特征
-
安装
-
配置
-
启动系统服务
-
用法(从命令行)
-
Conky 实时显示示例
Features
-
安装和运行快速简单
-
收集的统计信息通过系统重新启动持续存在
-
可以同时监控多个接口
-
几个输出选项
-
摘要、每小时、每天、每月、每周、前 10 天
-
可选的 png 图像输出(使用 libgd)
-
月数可以配置为跟随计费周期
-
轻量级,最少的资源使用
-
无论流量如何,CPU 使用率都一样低
-
无需root权限即可使用
-
在线颜色配置编辑器
Installation
nvStat 位于官方存储库中,因此无需链接到新的 ppa。要安装使用 Ctrl
+ Alt
+ T
创建终端实例并在提示符处键入:
sudo apt-get update
sudo apt-get install vnstat
安装后,保持终端打开以进行以下部分。无需重新启动。
Configuration
选择一个首选网络接口并相应地编辑 /etc/vnstat.conf
中的接口变量。要列出 vnstat 可用的所有接口,请使用:
$ vnstat --iflist
Available interfaces: wlp60s0 lo enp59s0 (1000 Mbit)
要开始监视特定接口,您必须首先初始化数据库。每个接口都需要自己的数据库。为 eth0 接口初始化一个的命令是:
sudo vnstat -u -i enp59s0
启动系统服务
在引入接口并检查配置文件之后。您可以通过 systemd
启动监控过程:
sudo systemctl start vnstat.service
要永久使用此服务:
sudo systemctl enable vnstat.service
从现在开始,vnstat
将使用如此少比例的 CPU 在后台收集网络使用情况,它不会显示在 conky(系统监视器)的前 9 个进程列表(在我的机器上)。
用法(来自命令行)
查询网络流量:
vnstat -q
查看实时网络流量使用情况:
vnstat -l
要查找更多选项,请使用:
vnstat --help
每月总计
要查看每月总计,请使用:
$ vnstat -m
enp59s0 / monthly
month rx | tx | total | avg. rate
------------------------+-------------+-------------+---------------
Oct '17 2.02 GiB | 1.57 GiB | 3.59 GiB | 11.25 kbit/s
Nov '17 58.28 GiB | 24.58 GiB | 82.86 GiB | 268.17 kbit/s
Dec '17 143.23 GiB | 13.64 GiB | 156.87 GiB | 491.31 kbit/s
Jan '18 102.77 GiB | 30.21 GiB | 132.97 GiB | 1.04 Mbit/s
------------------------+-------------+-------------+---------------
estimated 257.06 GiB | 75.56 GiB | 332.62 GiB |
Conky 实时显示示例
Conky 是一种流行的轻量级系统监视器,用于许多 Linux 发行版。您可以在 conky 显示中显示 vnStat 带宽总数,如下所示:
Conky 相关部分的 30 秒 .gif
产生这个显示的 Conky 代码是:
${color orange}${voffset 2}${hr 1}
${color}Memory:${goto 148}${color green}$mem / $memmax $alignr${color green}${memperc /}%
${color}Linux:${goto 148}${color green}${fs_used /} / ${fs_size /} $alignr${color green}${fs_used_perc /}%
${color}NVMe Win 10:${goto 148}${if_mounted /mnt/c}${color green} ${fs_used /mnt/c} / ${fs_size /mnt/c} $alignr${color green}${fs_used_perc /mnt/c}%${else}${color yellow}/mnt/c${endif}
${color}${if_mounted /mnt/d}HGST_Win10:${goto 148}${color green} ${fs_used /mnt/d} / ${fs_size /mnt/d} $alignr${color green}${fs_used_perc /mnt/d}%${else}Cache RAM:${goto 148}${color green}${cached} ${color} Buffers: ${color green} ${buffers}${endif}
${color}${if_mounted /mnt/e}WSL+Linux:${goto 148}${color green}${fs_used /mnt/e} / ${fs_size /mnt/e} $alignr${color green}${fs_used_perc /mnt/e}%${else}Swap:${goto 148}${color green}${swap} / ${swapmax} $alignr${color green}${swapperc}%${endif}
${color orange}${voffset 2}${hr 1}
${color1}Network using vnStat "-i", "-w" and "-m"
${color}${goto 5}Today ${goto 100}Yesterday ${goto 225}Week ${goto 325}Month ${color green}
${execi 10 vnstat -i enp59s0 | grep "today" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 110}${execi 10 vnstat -i enp59s0 | grep "yesterday" | awk '{print $8" "substr ($9, 1, 1)}'} ${goto 220}${execi 10 vnstat -i enp59s0 -w | grep "current week" | awk '{print $9" "substr ($10, 1, 1)}'} ${goto 315}${execi 10 vnstat -i enp59s0 -m | grep "`date +"%b '%y"`" | awk '{print $9" "substr ($10, 1, 1)}'}
${color}Down: ${color green}${downspeed enp59s0}/s ${color}${goto 220}Up: ${color green}${upspeed enp59s0}/s
${downspeedgraph enp59s0 25,190 000000 ff0000} ${alignr}${upspeedgraph enp59s0 25,190 000000 00ff00}$color
Total: ${color green}${totaldown enp59s0} $color${alignr}Total: ${color green}${totalup enp59s0}
${color orange}${voffset 2}${hr 1}
${color}${goto 5}Dawn: ${color green}${execpi 300 cat /usr/local/bin/sunrise} ${goto 155}${color}Dusk: ${color green}${execpi 300 cat /usr/local/bin/sunset} ${alignr}${color}Level: ${color green}${execpi 10 cat /sys/class/backlight/intel_backlight/brightness}
${color orange}${voffset 2}${hr 1}
为了节省桌面空间,我狭窄的 Conky 窗口使用 “G” 代替 “GiB”,”M” 代替 “MiB” 等。如果您有更多屏幕空间,请将 substr ($10, 1, 1)
更改为 $10
并对 $9
执行相同操作。
您可能需要将 enp59s0
更改为 eth0
、 wlan0
或 eth1
等,具体取决于 ifconfig
报告的网络名称。
第三种办法
您可以检查 NTM – Network Traffic Monitor