请教一个 winodows 下 cpu 核心配分问题
windos10 环境下,有一颗 10 核心 20 线程的 cpu.为什么每次启动不同任务的时候,核心 1 总是负载很高?
注意哈,我的意思是我启动不同的任务的时候,他总是搞不犹豫的选择核心 1!
正常来说,核心 1 上已经有负载了,不应该到负载低的核心上吗?
再不济,你随机选一个核心也行啊?为什么非得选择核心 1 呢?
有什么那么一个程序,可以让我每次启动的时候,随机分配一个核心跑?
又是一个英特尔大小核受害者。
毕竟 there is always a core 0
10 核 20 线程没有大小核的吧
大部分程序都是单双核跑的,你是怕把核心一累坏了?这倒是一个比较新的观点。确实应该随机分配的,只让核心一干活,也太不公平了。忙得忙死,闲得闲死。
#3 看走眼了
志强 5e
Process Lasso
Windows 默认 DPC ,ISR 都跑在核心 0 上
你的核心 1 指的是 cpu0 ?有没有可能,你启动任务的时候,操作系统本身还得干活呢?
如果你启动的程序不是启动器之类的还要启动主要程序,直接写一个 bat 批处理就能随机分配核心,所需指令 start /affinity 。bat 伪随机数怎么生成直接网上 copy 代码
有可能你开的程序只支持单核,比如老版本的 redis memcached 之类,也可能你写的程序压根不支持多程序导致集中在几个核心上
如果单个核没填满时都堆一个核心上,好像没什么问题,特别是如果这个核是被 CPPC 报告为优质核的情况。
负载高的是核心 1,cpu2.
这个听起来不错,回去试试
能详细解释如果你启动的程序不是启动器之类的还要启动主要程序
吗?我没有在 win 下面有太多的开发.假设我想启动 edge 这种线程较多的程序,他能不能实现把负载放在除核心 1 外的地方?
cppc 是针对 amd 平台的吗?首次接触,发现 amd 平台的资料?
我只是想单纯吐槽标题的 windows 多了个 o
Process Lasso 是软件级别的调度,实际上并不好用还要收费 windows 关于 cpu 的配置项非常多,但大多数都是隐藏的,比如通过配置可以使 win10 也支持大小核调度(实质就是任务优先级,长短任务分配的核心)
为啥纠结这种问题。Windows 使用复杂的算法来决定哪个进程或线程应该在哪个核心上运行,某些应用程序可能被设计为更倾向于使用特定的可用的核心,而不是随机选择。
一般来讲,使用 Windows API 亲和性函数 SetProcessAffinityMask 来将当前进程绑定到选定的核心上
当年芯片的调度规则是会指定一个体质最好的核心,在跑单核应用的时候尽可能把任务分配到这个核心上并且尽可能提高这个核心的频率
命令行:START /AFFINITY 1 "C:\Path\To\YourProgram.exe"Ref: stackoverflow.com/questions/7759948/set-affinity-with-start-affinity-command-on-windows-7
一核有难,9 核围观,基操了
winodows 11 好像会均匀调度,不会让一个核心太累。
前两天有人问了个关于Unix的fork()系统调用的面试题,这个题正好是我大约十年前找工作时某公司问我的一个题,我觉得比较有趣,写篇文章与大家分享一下。这个题是这样的: 题目:…
如题,我搜集的一些导航网站,感觉同质化比较多,没什么高质量的导航 各类工具的导航,站长工具、源码、ACG 、网盘资源、素材等 www.207788.xyz/ axuton…
目录 问答刹车失灵关于编程语言自行车火车问路警告 问答 Q:你是怎么区分一个内向的程序员和一个外向的程序员的? A:外向的程序员会看着你的鞋和你说话时。 Q:为什么程序员…