SNMP4J实时获取CPU信息的时间间隔
@xu_zhike1979 你好,想跟你请教个问题:请问SNMP4J实时获取CPU等信息的时间间隔如何设置?是根据它上次获取的时长长短来决定的吗?小弟就是上次问你的那个问题,做了一个用SNMP4J获取CPU等信息的一个小程序,现在已经能获取到CPU信息了,现在想实现让它间隔几秒来让它开启一个线程实时获取CPU信息值,但是它每次获取一次更新的很慢,得一分钟左右了吧,所以不好设置时间间隔,求教大哥赐教一下,十分感谢!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(13)
已经回答,希望对你有所帮助!
07:dd:05:14:11:1e:33:03这些数字字母都表示什么意思你晓得么?按我的意思,直接字符串拆分组装,好像也没有直接可以转换的函数。
http://www.oschina.net/question/209846_118627
而关于周期性任务,一是可以采用jdk自带的timer,二是可以用quartz.都可以实现你的要求
请问获取系统时间之后,如何转换格式呢?比如:
.1.3.6.1.2.1.25.1.2.0 得到结果:07:dd:05:14:11:1e:33:03
在Swing中,只有从事件派发线程才能更新组件,你可以参考下面blog的介绍。
http://zhuixue.iteye.com/blog/392323
或许你的问题是你获取CPU的线程自己去更新了组件。
我还是不是很明白你的意思,如果这样子的话,我的做法是:
不需要界面,直接在IDE里面写测试线程,通过在主线程里面起一个timer线程,让该线程每隔几秒去获取CPU信息,看从发起请求到数据返回这个时间多长。多测试几次,如果每次很快就返回的话,那么就表明问题不是出现在获取CPU信息的时间过长,而是该线程和你的界面主线程之间的交互,或者设计有问题。
狐狸糊涂说的很对,SNMP无法做到实时。即使是windows 上的CPU,内存使用那个图也不算是实时的,都有一定延迟的。
我不是很明白你说的更新很慢,是发送请求出去后需要等很久才收到响应还是其他的慢?而且还要考虑设备那边真正去获取CPU信息的程序是怎么响应你的请求的?有可能人家就不想太频繁给你这样的信息,即使你的请求频率很高。这一切都依赖于真正去获取你需要的信息的程序。
大侠你好啊,这个时间它每次间隔都不太一样,有时候感觉不到一分钟,有时看都过了好几分钟了,这个真不会断点,不知道它有什么好的方法等获取到实时,或者说最少要等多少时间才可以获取第二次。
@東刀人 你说的间隔是你自己轮询的间隔还是设备端更新的间隔?
回复
这个间隔就是我不断的请求最新信息,但是新数据要等一段时间才能得到,界面上才能显示出来更新过来的,与我请求的频率没关系好像是,它好像自身就有一个间隔,过了那个时间它才会返回信息给你,但是它返回数据的间隔长短不一,我无法设定请求的频率间隔的时长。
@東刀人 看看对方提供的MIB库是如何描述的,如果是对方有更新间隔的话,你是么有办法更改的。或许他们有提供其他MIB让你来达到你的要求。
照你的意思,应该是通过SNMP协议去获取设备上MIB库中关于CPU的信息。SNMP无法做到真实时,一般是通过SNMP Polling或者设备向你的app发Trap的方式。 建议先大概估计一下每一次polling回来大概需要多长时间,然后根据这个时间设置一个轮询的控制。