yemao4587 发表于 2021-3-23 14:39:54

关于降低指定进程cpu占用率那些事

1.windows job机制

把进程放入job容器,调用job api实现
DWORD nderror;
HANDLE m_hJob = CreateJobObject(NULL,"ProcessGroup");
//STARTUPINFO stInfo;
//memset(&stInfo, 0, sizeof(STARTUPINFO));

//(2)向job作业添加进程:
//这里是伪代码
//创建一个进程
//把进程句柄传入 AssignProcessToJobObject
BOOL ret = AssignProcessToJobObject(m_hJob,进程句柄);
if (ret)
{
   printf("向作业添加进程成功");
}else
{
   nderror = GetLastError();
}


JOBOBJECT_BASIC_LIMIT_INFORMATION limitInfo;
limitInfo.LimitFlags = JOB_OBJECT_LIMIT_PROCESS_TIME|JOB_OBJECT_LIMIT_PRIORITY_CLASS;
limitInfo.PerProcessUserTimeLimit.QuadPart=10000;
limitInfo.PriorityClass=IDLE_PRIORITY_CLASS;

//这里是参数填这个 JobObjectCpuRateControlInformation
//https://docs.microsoft.com/en-us/windows/win32/api/jobapi2/nf-jobapi2-setinformationjobobject开发文档

ret = SetInformationJobObject(m_hJob,JobObjectBasicLimitInformation ,&limitInfo, sizeof(limitInfo));

注意:系统必须win8以上,win7没这功能,代码我也没跑通,据说是所有由系统创建的进程已经放入了一个job,(为了解决兼容性)


2.对于游戏进程,hook dx接口,sleep 20ms-50ms 代码百度太多了.
注意,dx接口太容易被检测了,个人建议hook点选深点


3.hook消息处理函数,引用自大佬@wzanthony
while (1)
{
    if (PeekMessage(...))
    {
      TranslateMessage(...);
      DispatchMessage(...);
    }
    else
    {
      Sleep(1);
    }
}
4.我要降低的是无窗口进程的cpu占用率,消息处理函数还有检测,不符合我的需求,最后找到一个开源软件,大概看了下,熬了一晚上抗不住了,他是循环降低进程优先级,枚举该进程所有线程,挂起\,间隔100-300ms恢复来实现Down Cpu

代码放出,下载:


bdj998i 发表于 2023-11-7 08:10:01





https://c.l3n.co/i/BeYqfH.png
https://b.l3n.co/i/BeY3YK.png
https://c.l3n.co/i/BeY7Sm.png
https://b.l3n.co/i/BeYl1o.png
https://c.l3n.co/i/BeYn0v.png
https://a.l3n.co/i/BeYoJT.png
https://c.l3n.co/i/BeYcI0.jpeg





https://i.jpg.dog/8a47339edc5e03ce9d130a5b56fa5516.png
https://i.jpg.dog/843fb415e76d6bffd8a0fa5d6466fc62.png
https://i.jpg.dog/1c21ddd7384d5defb6c6f7cf46d4ff4f.png
https://i.jpg.dog/8b71523f4347f6eba2eced301956c92b.png
https://i.jpg.dog/0505fa3391aababe50bceb53c9ec381c.png
https://i.jpg.dog/3f8ac59b751ce3ec820380db6bdf35cf.png
https://i.jpg.dog/418c77eb0fddcb3b709224819379cee5.jpeg





https://pomf2.lain.la/f/2uh8n5.png
https://pomf2.lain.la/f/xw8fotqq.png
https://pomf2.lain.la/f/0jzpobkg.png
https://pomf2.lain.la/f/7x7pd7ur.png
https://pomf2.lain.la/f/prgnpxeo.png
https://pomf2.lain.la/f/57hcyzs.png
https://pomf2.lain.la/f/o6mnwez7.jpg






https://cdnjson.com/images/2023/11/03/73695364_202311030719400370800843.png
https://cdnjson.com/images/2023/11/03/73695364_202311030719520432990161.png
https://cdnjson.com/images/2023/11/03/73695364_202311030720040026590071.png
https://cdnjson.com/images/2023/11/03/73695364_202311030720170354391811.png
https://img.chkaja.com/4a31f2777d484573.png
https://cdnjson.com/images/2023/11/03/73695364_202311030720480432375433.png
https://cdnjson.com/images/2023/11/03/202311022207058831.jpg






https://www.ilovematlab.cn/data/attachment/forum/202311/03/160704tfxi8trxg5rwiz28.png
https://www.ilovematlab.cn/data/attachment/forum/202311/03/160707krii0abv75ge017k.png
https://www.ilovematlab.cn/data/attachment/forum/202311/03/160711kj0ce0cjveccrfg2.png
https://www.ilovematlab.cn/data/attachment/forum/202311/03/160714t24gzg41gmp25pbz.png
https://www.ilovematlab.cn/data/attachment/forum/202311/03/160716x30oem0ii4muxm09.png
https://www.ilovematlab.cn/data/attachment/forum/202311/03/160723j1g3s11mgg33gaaz.png
https://www.ilovematlab.cn/data/attachment/forum/202311/03/160733feeqiqdvdi7g70q7.jpg
{2023年11月01日 } 三个月之内,爆发人类最大金融崩盘!{假摔}


{2023年11月01曰 } 三个月之内,bào发人类最大金融崩卝盘!{假摔}



作者:杏huā楼
时间 :   2023年11月01曰 19:31:24   星期三农历癸卯兔年九月十八
         上证综指 3023.О8点   恒指 17101.78点   道指 33052.87点
         万圣节            张卝高卝丽(1946年11月1曰—),福建晋jiāng人。



本人 邮 箱 {仅仅自动回卝复发信息,绝不是联卝系工具}:

88邮箱自动回卝复 :    bb2266@88.com
谷卝歌邮箱自动回卝复 : vanusara9@gmail.com   {不确定}
谷卝歌邮箱自动回卝复 : brenhuby3@gmail.com    {不确定}
                                             {uby3,不是ubv3}

111邮箱自动回卝复 :   iii520@111.com
126邮箱自动回卝复 :   mmdd2016@126.com
126邮箱自动回卝复 :   iii217@126.com



========
========


突然的,全球金融 雪 崩 溃 坝 、彻 底 崩 溃 ;
没有什么,“谁也没想到”、“友邦惊诧”黑天鹅白天鹅哥斯拉撞冰山;
一切都是,蓄谋已久的,精心策划 --- 惊天魔盗团。zéi喊捉zéi。



1三个月之内,即,2023年12月、2024年元月、02月,将会突然bào
    发,人类最大金融海啸,全球股市、金融市场、大宗商品市场连续跌
    亭大崩卝盘。
   {大盘连续或稍稍间断30/40多个跌亭板 }
   太久的忍耐时机筹谋,财狼们终于要动手了;
   虎虎虎。亦喜亦忧。大吉大凶。
   静里忽然动干戈。
   缠中说禅17年之前预卝言的,2019毁miè性下跌。{有误差}
   已故“周期天王”周金涛的,“2018年到2019年是康波周期的万劫
   不复之年”。----2016年3月16曰:《人生就是一场康波》
   道琼斯人类最长牛市,憋了14年的一泡shǐ,总算找到了,公共厕所。
   世卝界卝末卝曰,人造世卝界卝末卝曰。



2全球连续跌停大崩卝盘的见底点位:
   上证综指160点左右,见底{166④的十分之一}。
   以今天上正宗指3023.О8计算,大约“瞬间”跌去19倍。
   最震撼的推卝倒重来,竟然只是,洗盘 !总冲顶之前的总洗盘 !!


    道琼斯,600至1000点见底;{跌去30至50倍}
    恒生指数300至600点见底;恒生指数三百至六百点见底;   
    仙股满天飞。

    14个跌停板之后,停顿、反弹,之后,还有14个跌停板;
    14个跌停板之后,停顿、反弹,之后,还有14个跌停板。

最大崩卝盘过程之中,上证综指1000点,800至1200之间,会有反弹,
那是,下跌中继的,诱多。
最大崩卝盘过程之中,上证综指1000点,800至1200之间,会有反弹,
那是,下跌中继的,诱多。
接下来,还有,第二次毁miè性崩卝盘。
接下来,还有,第二次毁miè性崩卝盘。就像,东航MU5735。


2023年12月、2024年元月、02月的人类最大崩卝盘,暗黑帝卝囯庄家也
可能分三波、四波完成,以道琼斯为例,
第一波:36000{33000} --- 10000 --- 13000
第二波:13000 --- 3000--- 4000
第三波:4000 --- 跌破,1000见底
见底之后,上涨过程中,还会假崩卝盘,一再假崩卝盘,
惊弓之鸟的散户,怎样的,屁niào横liú哭爹喊酿硝卝酸卝甘卝油。
要多凶卝残有多凶卝残,尽情蹂卝躏摧卝残散户小姑酿的,心灵与肉卝体。
对赌押宝你sǐ我活,发善心放过散租,庄家就要,赔钱,倾家荡产。


谜底,让你吃惊的合不拢嘴。这就对了。
我强调,我重申,股价跌去97% ,跌去97%,不是庄稼们 发 疯 了,
而是,他们,早已筹谋的,既定共同战略布jú。
不把散户完全吓的 屁 滚 niào liú,如何能达到,彻 底 洗 盘 的目的 ??
跌去九成,就像1929,对老股卝民来说,已经xí以为常;中卝囯股市,
曾经跌去90%的股票,比比皆是。
页: [1]
查看完整版本: 关于降低指定进程cpu占用率那些事