gearfox 发表于 2008-6-19 13:11:40

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

进bios
找advanced tab/options for CPU configuration
禁掉Hyper Threading Technology

fd2000 发表于 2008-6-19 15:40:15

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

学习了!:burn:

ypf 发表于 2008-6-20 00:51:34

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

以前开两个HLDS,都是一个CPU在工作,再任务管理器中看到,一个有占用,一个0%闲这没事情,win2003不会合理分配程序让拿个cpu运行,造成一个浪费,一个不堪重负.所以想让两个hlds各占用一个cpu处理,即提高了利用率也缓解了一个cpu工作的压力

====(我的想法)===有超线程的双CPU或双核CPU合理分配HLDS的执行===(有待考证)====

0 1 2 3 代表被超线程技术分成的四个虚拟逻辑处理器
中间用" - "横线连接起来代表是同一个物理cpu
a是一个HLDS进程b是一个HLDS进程

以下组合都是一个逻辑处理器只执行一个HLDS的50%,每个HLDS都被两个逻辑处理器共同执行.

组合一 : ____每个HLDS被在同一个物理CPU中的两逻辑处理器共同执行.
_cpu__cpu
_0-1__2-3
_a a__b b
组合二 : ____每个物理CPU同时执行两个不同的HLDS进程的50%.
__________每个物理CPU的两个逻辑处理器分别执行不同的HLDS进程.
_cpu__cpu
_0-1__2-3
_a b__a b

两种方式组合,虽然两个物理CPU被超线程技术分成了四个虚拟逻辑处理器,
可以设定其中任意两个虚拟逻辑处理器共同执行一个HLDS进程,另外两个处理另一个HLDS.
不管HLDS设为哪两个虚拟逻辑处理器共同执行,都可以达到平均分配cpu占用率的问题.

只是不知道一个HLDS进程能不能被两个虚拟逻辑处理器共同执行?

ty00dy00 发表于 2008-6-20 22:33:17

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

我给你个办法吧

一个服务器用    点通3647
另一个服务器用点通3123
我是双核CPU,2个HLDS用的不是一个CPU
3647用CPU03213用CPU1
你可以测试一下

ypf 发表于 2008-6-21 23:07:34

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

楼上的,何必要用两个不同版本的HLDS那????再复制一个同样的HLDS全部文件开服务也可以?

还有楼上的,你用的是单U双核,我用的是双U虚拟超线程变4U了,无法区分哪两个U为一个物理CPU

具我知道双核也有TH功能的,如果打开TH的话2003下看也是4个U

ty00dy00 发表于 2008-6-22 13:28:29

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

我用的是 单U双核

3647这个版本,开HLDS占用CPU0
3213这个版本,开HLDS占用CPU1
这是默认状态HLDS自动选择的

你复制一个3647,不还是占用CPU0吗

ypf 发表于 2008-6-22 13:57:01

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

Post by ty00dy00
我用的是 单U双核

3647这个版本,开HLDS占用CPU0
3213这个版本,开HLDS占用CPU1
这是默认状态HLDS自动选择的

你复制一个3647,不还是占用CPU0吗

3647的HLDS与3213的HLDS不都是一样的HLDS程序吗.只是版本不同.换句话说都是windows下的可执行程序吗.难道两个不同版本的HLDS程序win2003就会分辨了,就会自动给他分配不同的CPU,如果是两个同样版本的HLDS都在运行WIN2003就会给他分到一个CPU了??.......我想这不太可能吧.

xwh2wy 发表于 2008-6-24 01:11:29

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

我也正为此事困扰,4核至强只有一个核心在拼命工作。听说2834和3213的版本可以使CPU负载平衡,我还没去测试。

ypf 发表于 2008-6-24 23:28:28

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

解释一下,我的服务器是双至强CPU就是说有两个独立分开的物理CPU,由于使用超线程技术每个物理CPU被多虚拟出一个逻辑处理器,一个CPU看上去就象双核,加上另一个拥有同样功能的物理CPU,就变成4个逻辑处理器了,
-
来看看,我上传了,我的CPU占用率图片,是任务管理器的,4个逻辑处理器CPU1.2.3.4
HLDS_A使用CPU1____CPU2空闲____HLDS_B使用CPU3____CPU4空闲
我的两个HLDS端口,27015, 27016 都是22人的,
抓图时HLDS_A 已经22满人了,HLDS_B是15个人没满.
所以下面CPU图表里CPU1占用率比CPU3高的原因
4个逻辑处理器,可是只有两个在工作,无法让两个逻辑处理器共同执行一个HLDS.
由于是超线程弄出4个逻辑处理器根本分不出哪两个是一个物理CPU
有方法分出来吗?我想单独让一个物理CPU执行一个HLDS. 不行的话就关掉超线程来实现它.

ypf 发表于 2008-6-24 23:40:24

回复: 关于多CPU或双核CPU分别处理HLDS的问题?

解释一下,我的服务器是双至强CPU就是说有两个独立分开的物理CPU,由于使用超线程技术每个物理CPU被虚拟成两个逻辑处理器,一个CPU看上去就象双核,加上另一个拥有同样功能的物理CPU,就变成4个逻辑处理器了,
-
来看看,我上传了,我的CPU占用率图片,是任务管理器的,4个逻辑处理器CPU1.2.3.4
HLDS_A使用CPU1____CPU2空闲____HLDS_B使用CPU3____CPU4空闲
我的两个HLDS端口,27015, 27016 都是22人的,
抓图时HLDS_A 已经22满人了,HLDS_B是15个人没满.
所以下面CPU图表里CPU1占用率比CPU3高的原因
4个逻辑处理器,可是只有两个在工作,无法让两个逻辑处理器共同执行一个HLDS.
由于是超线程弄出4个逻辑处理器根本分不出哪两个是一个物理CPU有方法分出来吗?
如果执行HLDS的两逻辑处理器都是同一个物理CPU虚拟出来的那性能就大打折扣了.
我想让一个物理CPU独立执行一个HLDS. 不行的话就关掉超线程来实现它能行吗?
页: 1 [2] 3
查看完整版本: 关于多CPU或双核CPU分别处理HLDS的问题?