在 12 代 intel CPU 上跑程序, 需要关注大小核调度问题吗?

2023-12-22 09:36:41 +08:00
 linhongye

我们有一个小集群, 每台主机都是 12 代 intel 的 CPU.
目前计划是在一台主机上, 跑 3~4 个不同的程序, 这几个程序都很吃单核性能, 哪个程序被丢到能效核里面跑都受不了...
大家有过类似的经验吗? 如果让系统自己去调度, 有遇到过瓶颈么?

3684 次点击
所在节点    程序员
16 条回复
Mikewangyankkk
2023-12-22 09:38:06 +08:00
可以在 bios 里面把 E core 关掉
acctv2
2023-12-22 09:40:21 +08:00
如果你是固定跑几个程序,可以手动绑定进程和核心
KKLeon
2023-12-22 09:43:32 +08:00
二楼正解,我记得有个强大的软件 process lasso 就是干这个事情的吧。貌似 windows 的任务管理器也可以设置
ppking
2023-12-22 09:46:01 +08:00
主要是看你应用程序,如果是纯应用层的,没有任何 idle 行为,那就自己绑核。如果你应用程序本身就有 idle 行为,有系统调用行为,就不要纠结了,直接扔给操作系统去调度吧..............
version
2023-12-22 09:49:26 +08:00
..关闭小核..然后超频..
SiLenceControL
2023-12-22 10:04:06 +08:00
1 楼正解
跑 CFD 的时候 E core 是真的恼火
YoukuShow
2023-12-22 10:09:29 +08:00
littlewing
2023-12-22 11:08:19 +08:00
那就绑核跑吧
ouqihang
2023-12-22 11:13:51 +08:00
CodeCodeStudy
2023-12-22 11:26:34 +08:00
Swoole 可以将进程绑定到特定的 CPU 核上

https://wiki.swoole.com/#/process/process?id=setaffinity
zzzmh
2023-12-22 14:11:35 +08:00
也许或许可能 maybe 你们的程序可以写成多线程么。。。就是不吃单核性能?
Al0rid4l
2023-12-22 14:41:39 +08:00
关 E 核那不如不买, 改改电源管理就好

https://gist.github.com/al0rid4l/1e95c106f77766b2fc3608cd235a9f40
tangtang369
2023-12-22 14:45:00 +08:00
最佳方案绑定 cpu 每个程序根据需求提前分配好资源
leconio
2023-12-22 16:10:40 +08:00
看小黑盒上有人说玩老头环可能有调度问题。process lasso 就是解决这个的
yanqiyu
2023-12-22 16:43:11 +08:00
既然是集群那我假设是 Linux ,那 Linux 的调度器行为是先尽量用大核心,然后小核心,然后大核心的超线程。

所以调度的时候不要让机器 load 超过大核核心数就行
traffic
2023-12-23 09:23:33 +08:00
任务管理器就可以设置只在哪几个核心上跑,何须第三方软件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1002498

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX