社区
智能路由器
帖子详情
如何监控线程CPU占有率?!
lhbyron
2002-09-09 10:27:01
我现在想在嵌入式系统eCos上写一个监控CPU占有率的小程序,就像windows上的资源管理器一样的东西
我初步的想法是,当每个线程创建的时候,将其记录到一个链表中,在每个调度时机对调度运行线程计数,然后每隔500ms统计一次,就得到了CPU占用率!
不知道这样做有没有什么缺陷,或者有没有更好的方法,请个位指教!
eCos是一个开放源码的嵌入式实时操作系统,所以可以采用一些很底层的方法来实现,
望大家一起来讨论!
...全文
120
5
打赏
收藏
如何监控线程CPU占有率?!
我现在想在嵌入式系统eCos上写一个监控CPU占有率的小程序,就像windows上的资源管理器一样的东西 我初步的想法是,当每个线程创建的时候,将其记录到一个链表中,在每个调度时机对调度运行线程计数,然后每隔500ms统计一次,就得到了CPU占用率! 不知道这样做有没有什么缺陷,或者有没有更好的方法,请个位指教! eCos是一个开放源码的嵌入式实时操作系统,所以可以采用一些很底层的方法来实现, 望大家一起来讨论!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gisser
2002-09-10
打赏
举报
回复
得到ProcessID,
然后得到这个Process中的所有线程的ThreadID,调用相应的函数GetThreadTime。
在NT下可以使用SAPI或RegQueryValueEx(HKEY_PERFORMANCE_DATA,....)方法
在第三方进程中得到相应的数据。CE.NET下也可以用类似于NT中的方法实现
lhbyron
2002-09-10
打赏
举报
回复
我希望统计每个线程的占用率,如果是每个时钟中断对当前线程+1是不是系统开销太大了?
潘多拉猫之碧海蓝天
2002-09-10
打赏
举报
回复
开销不大。你只是增加了几条汇编语句的代码量。
潘多拉猫之碧海蓝天
2002-09-09
打赏
举报
回复
如果你是想统计每个线程的占有率的话,你还是不知道每个线程到底运行了多久。恐怕要没个时钟中断时都对当前运行的线程加一,然后500ms统计一下才行吧。如果你要统计的只是cpu总的占有率的话,可以参考ucos。
coolsnake_pp
2002-09-09
打赏
举报
回复
你不妨参考一下UC-OSii的源代码,里面有一个统计任务。
编程之美 1.1 Windows控制
CPU
占有率
1.1 让
CPU
占有率
听你指挥 题目:Windows环境下,写一个程序控制
CPU
占有率
,具体
CPU
的
占有率
固定在50%,为一条直线。
CPU
占有率
为一条直线,具体参数可调。
CPU
占有率
呈一条正弦曲线。 解题思路: 任务
监控
器下
CPU
占有率
是1秒进行一次采样的。让
CPU
工作指定时间,休息指定时间就可以控制
占有率
曲线。 其中指定休息时间可以使用Sleep()函数,工作指定时间则需要计算。在此...
关于多
线程
如何占满
cpu
的问题!
我想,既然大家都是看多
线程
的特殊用法了,想必应该对多
线程
有了一定的了解,接下来,我给大家解释一下如何用单进程多
线程
占满
cpu
吧。 首先,告诉大家一个常识: 单核环境下,空死循环会导致100%的
CPU
占有率
。双核环境下,
CPU
总
占有率
大约为50%,四核是25%左右,那么,接下来就是创建4个
线程
将
cpu
占满即可! 代码如下:(刚看的关于C++11标准中的...
39 Linux如何查看哪个
线程
占用
CPU
最高
39 Linux查看哪个
线程
占用
CPU
最高方式 在开发中,我们不免会遇到某个程序占用
CPU
很高的情况,我们可能可以用top命令查看到是该进程的某个
线程
CPU
占有率
高的很,通过top命令后,再按h键便可查看对应的
线程
号,如下图示: 按下h键后: 现在知道了那个占用
cpu
最高的
线程
ID,下一步是要找出是哪个
线程
,此时我们可以实用gdb调试工具得到相关信息!用gdb attach 173,...
Linux 上如何查找哪个
线程
cpu
利用率最高?
windows上面用任务管理器看,linux下可以用 top 这个工具看。
为什么我写的qt多
线程
tcp占
cpu
这么高?
一旦重写了QThread::run,使用死循环,就意味着你得显式地触发“逻辑”。初学者大概率写出来的信号槽还是在UI
线程
或者非QThread
线程
内运行。对于Qt而言,
线程
的执行总是在QThread::run内,尽管可以通过信号槽看起来换了个地方,但也是从QThread::run底层调用过去的。在开始前我有一些资料,是我根据网友给的问题精心整理了一份「Qt 的资料从专业入门到高级教程」,点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!你理解错了
线程
和信号槽的关系以及使用方法。
智能路由器
684
社区成员
913
社区内容
发帖
与我相关
我的任务
智能路由器
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
复制链接
扫一扫
分享
社区描述
智能路由器通常具有独立的操作系统,包括OpenWRT、eCos、VxWorks等,可以由用户自行安装各种应用,实现网络和设备的智能化管理。
linux
python
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章