我目前正在寻找一种方法,如何从 Java 获取有关网络利用率的实时数据。我想看看几个正在运行的线程(所有从网上下载的东西)如何利用网络,如果不满足某些条件,同时能够设置产生新线程的阈值。假设我创建了 10 个线程,全部从 Web 下载一些东西,并且网络利用率为 5%,考虑之前将阈值设置为 10% 的最大利用率,我将被允许生成一个新线程。问题是,我不确定是否有办法获取此类网络信息。任何帮助深表感谢。
问问题
140 次
1 回答
2
如果您使用的是 Linux,您应该能够从/proc/net
. 例如/proc/net/dev
:
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 108751031 226504 0 0 0 0 0 0 108751031 226504 0 0 0 0 0 0
wlan0: 113355689 146027 0 0 0 0 0 0 18453619 122751 0 0 0 0 0 0
eth0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
该文件几乎可以用任何编程语言(包括 Java)轻松阅读。
注意:问题现在已更改为明确引用 Windows。所以这不再是一个完全合适的答案。
于 2012-05-17T12:50:42.497 回答