我有一个设置,其中包括一个为多个支持设备提供服务的 bcache 缓存设备。我想知道当前使用了多少,因为 bcache 只缓存某些类型的数据。
imll
Asked:
2019-08-12 04:40:49 +0800 CST
当我运行命令ethtool -S wlp2s0
时,我得到以下信息:
NIC statistics:
rx_packets: 63
rx_bytes: 14163
rx_duplicates: 2
rx_fragments: 58
rx_dropped: 30
tx_packets: 60
tx_bytes: 9668
tx_filtered: 0
tx_retry_failed: 0
tx_retries: 39
sta_state: 4
txrate: 115600000
rxrate: 130000000
signal: 189
channel: 0
(...)
但是,当我转到该/sys/class/net/wlp2s0/statistics
文件夹时,统计信息与 ethtool 不同(它们似乎是 ifconfig 打印的)。例如,当我rx_dropped
从文件夹中显示时,结果总是0
.
这是ifconfig
界面的显示:
wlp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.115 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::6f9d:4eac:5bec:1ea6 prefixlen 64 scopeid 0x20<link>
ether 88:b1:11:6a:1d:82 txqueuelen 1000 (Ethernet)
RX packets 42483 bytes 55964467 (55.9 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9309 bytes 1393476 (1.3 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我的问题是,如果我想以 1 秒为间隔了解丢弃的数据包,我从哪里可以获得该信息?ethtool
似乎是一个不错的选择,但我不知道它从哪里获取信息,我不明白为什么信息与统计文件夹不同......
另外, rx_dropped 中的 30 值是什么意思?是接口启动后丢弃的数据包吗?
Aditya369
Asked:
2019-08-02 23:33:36 +0800 CST
需要仅收集特定的统计信息,例如 %idle、memfree、available、pmemused 等。我还必须将输出转换为 json 字符串并使用它。
是否有任何 UNIX 工具可以做到这一点?
我尝试了 sar 和 sadf 的组合,但我得到了一个我不需要的复杂 json 格式。
/usr/bin/sar -r 1 1 -o tmp1 &> 1;
/usr/bin/sadf tmp1 -j --iface=eth1 -- -u -r -n DEV
我得到这个输出:
{
"sysstat": {
"hosts": [{
"nodename": "ESDNAS1",
"sysname": "Linux",
"release": "4.4.143-94.47-default",
"machine": "x86_64",
"number-of-cpus": 8,
"file-date": "2019-08-02",
"file-utc-time": "04:53:09",
"statistics": [{
"timestamp": {
"date": "2019-08-02",
"time": "04:53:10",
"utc": 1,
"interval": 1
},
"cpu-load": [{
"cpu": "all",
"user": 0.25,
"nice": 0.00,
"system": 1.00,
"iowait": 0.00,
"steal": 0.00,
"idle": 98.75
}],
"memory": {
"memfree": 3707764,
"avail": 12451860,
"memused": 12013448,
"memused-percent": 45.01,
"buffers": 225176,
"cached": 4361204,
"commit": 28665304,
"commit-percent": 107.41,
"active": 13473076,
"inactive": 1535816,
"dirty": 616
},
"network": {
"net-dev": [{
"iface": "eth1",
"rxpck": 1.00,
"txpck": 1.00,
"rxkB": 0.11,
"txkB": 0.00,
"rxcmp": 0.00,
"txcmp": 0.00,
"rxmcst": 0.00,
"ifutil-percent": 0.00
}]
}
}],
"restarts": []
}]
}
}
我正在寻找这样的东西(或关闭一个很简单的东西):
{
"sysstat": {
"hosts": [
{
"nodename": "HOSTNAME",
"statistics": [
{
"timestamp": {
"date": "2019-08-02",
"time": "04:53:10"
},
"cpu-load": [
{
"idle": 98.75
}
],
"memory": {
"memfree": 3707764,
"avail": 12451860,
"memused-percent": 45.01
},
"network": {
"net-dev": [
{
"iface": "eth1",
"rxpck": 1,
"txpck": 1,
"ifutil-percent": 0
}
]
}
}
],
"restarts": []
}
]
}
}