Centos Stream 8では、Network ManagerのD-Bus APIがorg.freedesktop.NetworkManager.Device.Statistics
表示されます。これは、コンピュータのログインおよびループバックに使用されるアクティブイーサネットポートを含むすべてのネットワークインターフェイスに適用されます。RxBytes
TxBytes
実際にこの情報を持つ他のオブジェクトタイプはありますか?このインターフェイスはもう使用されていませんか?どこかで録音を開始するにはメソッドを実行する必要がありますか?どういうわけか変更を購読する必要がありますか?これはnm-settings-ifcfg-rhに関連していますか?
Netstatは問題なくこれらの統計を報告します。 Ubuntu 22.04ではこれを報告しますが、ループバックにのみ適用されます。
編集:Ubuntuデバイスを使用していると思いましたが、実際にはCentosデバイスです。
答え1
これらのトランスポート統計は、デフォルトでわずかな(小さい?)オーバーヘッドがあり、デフォルトで無効になっているカーネルAPIをポーリングします。
実際、ネットリンクから直接情報を取得するのと同じです。
とにかくこのポーリングを有効にするには
busctl set-property org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/Devices/2 org.freedesktop.NetworkManager.Device.Statistics RefreshRateMs u 1000
ここで、D-Bus Pathはで得られるパスですnmcli -g GENERAL.DBUS-PATH device show eth0
。
どういうわけか変更を購読する必要がありますか?
これらのプロパティはD-Busで利用可能で、RefreshRateMs
ミリ秒ごとに更新されます。このプロパティをポーリングしたり、信号を聞くことができます。後者は、PropertiesChanged
D-Bus信号を「購読」することを意味します。