首页
社区
课程
招聘
[求助]怎么编程实现限制进程的cpu占用率
发表于: 2007-1-23 20:27 7620

[求助]怎么编程实现限制进程的cpu占用率

2007-1-23 20:27
7620
怎么通过编程实现,限制一个进程的cpu占用率?

什么语言无所谓。能实现就好,
或者有什么好的思路。。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 216
活跃值: (2407)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
2
调整目标程序的CPU优先级
2007-1-23 22:11
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
调整优先级没用,即使是最低等级也会把CPU用满,只在别的进程忙时才降低CPU占用.
限制CPU占用一般没什么意义.移动版CPU好像可以限制全局CPU占用,其实就是降频了.
2007-1-24 09:55
0
雪    币: 288
活跃值: (112)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
4
对桌面应用来说是没有意义。
但是对于服务程序来说就有意义了。

微软自家的 sql server, iis 就可以限制cpu使用率。
不知道有没有人研究过是怎么实现的?
2007-1-24 15:31
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
用定时器循环运行??不好实现……
2007-1-24 17:09
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最初由 rick 发布
对桌面应用来说是没有意义。
但是对于服务程序来说就有意义了。

微软自家的 sql server, iis 就可以限制cpu使用率。
不知道有没有人研究过是怎么实现的?


对于这个来说,是在SqlServer和IIS运行正常的情况下才是可控的,
而且是自己控制自己.
2007-1-25 09:12
0
雪    币: 214
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
windows核心编程第五章
2007-1-25 09:48
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
我想到一个简单的方法:
创建一个高优先级线程或进程,每Sleep一小段时间就把工作线程或进程挂起,再Sleep一小段时间唤醒工作线程或进程.两段时间的比例就是工作线程或进程的CPU占用比率.
2007-1-25 14:45
0
雪    币: 214
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
最初由 绫濑遥 发布
windows核心编程第五章

微软本身有api实现.
job...
自己慢慢看~~
没想到dwing也不知道啊...
很喜欢你的壳哦~~~~
2007-1-25 21:04
0
雪    币: 288
活跃值: (112)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
10
看过job的api了,好像不太好实现。
它提供了限制一个进程运行时间的功能,但是有一点不好,它会在时间超出后强制终止进程。
如果不是终止进程只是将进程挂起的话可能好弄一些。

不知道有什么好思路?
2007-1-25 23:17
0
雪    币: 217
活跃值: (99)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
最初由 colboy 发布
微软本身有api实现.
job...
自己慢慢看~~
没想到dwing也不知道啊...
很喜欢你的壳哦~~~~


我不知道很正常啊,这类API没什么用途,限制CPU占用一般是没必要的.
只要把优先级降到最低,就对其他进程几乎没影响了.
没其它任务时,低优先级的占满CPU也合理啊,CPU就是要充分利用的嘛.
我看到许多软件评测连转换编码那种不断运行的软件还要测CPU占用率.
限制CPU的情况好像只有实时操作系统才会考虑.
2007-1-26 09:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
学习学习在学习
2007-1-27 08:11
0
游客
登录 | 注册 方可回帖
返回
//