我们有一个小集群, 每台主机都是 12 代 intel 的 CPU.
目前计划是在一台主机上, 跑 3~4 个不同的程序, 这几个程序都很吃单核性能, 哪个程序被丢到能效核里面跑都受不了...
大家有过类似的经验吗? 如果让系统自己去调度, 有遇到过瓶颈么?
1
Mikewangyankkk 2023-12-22 09:38:06 +08:00 2
可以在 bios 里面把 E core 关掉
|
2
acctv2 2023-12-22 09:40:21 +08:00 via Android
如果你是固定跑几个程序,可以手动绑定进程和核心
|
3
KKLeon 2023-12-22 09:43:32 +08:00 via Android
二楼正解,我记得有个强大的软件 process lasso 就是干这个事情的吧。貌似 windows 的任务管理器也可以设置
|
4
ppking 2023-12-22 09:46:01 +08:00
主要是看你应用程序,如果是纯应用层的,没有任何 idle 行为,那就自己绑核。如果你应用程序本身就有 idle 行为,有系统调用行为,就不要纠结了,直接扔给操作系统去调度吧..............
|
5
version 2023-12-22 09:49:26 +08:00
..关闭小核..然后超频..
|
6
SiLenceControL 2023-12-22 10:04:06 +08:00
1 楼正解
跑 CFD 的时候 E core 是真的恼火 |
7
YoukuShow 2023-12-22 10:09:29 +08:00 1
|
8
littlewing 2023-12-22 11:08:19 +08:00
那就绑核跑吧
|
9
ouqihang 2023-12-22 11:13:51 +08:00 1
|
10
CodeCodeStudy 2023-12-22 11:26:34 +08:00 1
|
11
zzzmh 2023-12-22 14:11:35 +08:00
也许或许可能 maybe 你们的程序可以写成多线程么。。。就是不吃单核性能?
|
12
Al0rid4l 2023-12-22 14:41:39 +08:00 2
|
13
tangtang369 2023-12-22 14:45:00 +08:00
最佳方案绑定 cpu 每个程序根据需求提前分配好资源
|
14
leconio 2023-12-22 16:10:40 +08:00
看小黑盒上有人说玩老头环可能有调度问题。process lasso 就是解决这个的
|
15
yanqiyu 2023-12-22 16:43:11 +08:00 via Android
既然是集群那我假设是 Linux ,那 Linux 的调度器行为是先尽量用大核心,然后小核心,然后大核心的超线程。
所以调度的时候不要让机器 load 超过大核核心数就行 |
16
traffic 2023-12-23 09:23:33 +08:00
任务管理器就可以设置只在哪几个核心上跑,何须第三方软件
|