SNMP4J实时获取CPU信息的时间间隔

发布于 2021-11-26 17:30:10 字数 308 浏览 965 评论 13

@xu_zhike1979 你好,想跟你请教个问题:请问SNMP4J实时获取CPU等信息的时间间隔如何设置?是根据它上次获取的时长长短来决定的吗?小弟就是上次问你的那个问题,做了一个用SNMP4J获取CPU等信息的一个小程序,现在已经能获取到CPU信息了,现在想实现让它间隔几秒来让它开启一个线程实时获取CPU信息值,但是它每次获取一次更新的很慢,得一分钟左右了吧,所以不好设置时间间隔,求教大哥赐教一下,十分感谢!!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(13

猫九 2021-12-03 14:15:07

已经回答,希望对你有所帮助!

月亮是我掰弯的 2021-12-03 14:15:05

07:dd:05:14:11:1e:33:03这些数字字母都表示什么意思你晓得么?按我的意思,直接字符串拆分组装,好像也没有直接可以转换的函数。

2021-12-03 14:15:03

而关于周期性任务,一是可以采用jdk自带的timer,二是可以用quartz.都可以实现你的要求

奢华的一滴泪 2021-12-03 14:15:03

请问获取系统时间之后,如何转换格式呢?比如:

.1.3.6.1.2.1.25.1.2.0 得到结果:07:dd:05:14:11:1e:33:03

别再吹冷风 2021-12-03 14:15:02

在Swing中,只有从事件派发线程才能更新组件,你可以参考下面blog的介绍。

http://zhuixue.iteye.com/blog/392323

或许你的问题是你获取CPU的线程自己去更新了组件。

等风来 2021-12-03 14:14:54

我还是不是很明白你的意思,如果这样子的话,我的做法是:

不需要界面,直接在IDE里面写测试线程,通过在主线程里面起一个timer线程,让该线程每隔几秒去获取CPU信息,看从发起请求到数据返回这个时间多长。多测试几次,如果每次很快就返回的话,那么就表明问题不是出现在获取CPU信息的时间过长,而是该线程和你的界面主线程之间的交互,或者设计有问题。

能否归途做我良人 2021-12-03 14:14:48

狐狸糊涂说的很对,SNMP无法做到实时。即使是windows 上的CPU,内存使用那个图也不算是实时的,都有一定延迟的。

我不是很明白你说的更新很慢,是发送请求出去后需要等很久才收到响应还是其他的慢?而且还要考虑设备那边真正去获取CPU信息的程序是怎么响应你的请求的?有可能人家就不想太频繁给你这样的信息,即使你的请求频率很高。这一切都依赖于真正去获取你需要的信息的程序。

初见你 2021-12-03 14:14:46

大侠你好啊,这个时间它每次间隔都不太一样,有时候感觉不到一分钟,有时看都过了好几分钟了,这个真不会断点,不知道它有什么好的方法等获取到实时,或者说最少要等多少时间才可以获取第二次。

反话 2021-12-03 12:06:21

@東刀人 你说的间隔是你自己轮询的间隔还是设备端更新的间隔?

尐偏执 2021-12-02 20:05:22

回复
这个间隔就是我不断的请求最新信息,但是新数据要等一段时间才能得到,界面上才能显示出来更新过来的,与我请求的频率没关系好像是,它好像自身就有一个间隔,过了那个时间它才会返回信息给你,但是它返回数据的间隔长短不一,我无法设定请求的频率间隔的时长。

孤檠 2021-12-02 11:06:30

@東刀人 看看对方提供的MIB库是如何描述的,如果是对方有更新间隔的话,你是么有办法更改的。或许他们有提供其他MIB让你来达到你的要求。

彩扇题诗 2021-11-26 19:22:22

照你的意思,应该是通过SNMP协议去获取设备上MIB库中关于CPU的信息。SNMP无法做到真实时,一般是通过SNMP Polling或者设备向你的app发Trap的方式。 建议先大概估计一下每一次polling回来大概需要多长时间,然后根据这个时间设置一个轮询的控制。 

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文