51Testing软件测试论坛

标题: 线程多CPU支持问题,高手进! [打印本页]

作者: zone1999    时间: 2007-2-2 16:03
标题: 线程多CPU支持问题,高手进!
性能测试发现一个问题:
测试的程序为单进程多线程模式,但测试结果表明:单CPU高主频的服务器要比4CPU低主频的服务器性能好的多
经观察发现:redhat下,4cpu该进程始终只使用1颗CPU,只有在压力大且一个CPU不够用时,才会使用另外一颗CPU,但此时其它两颗仍为闲置状态
测试环境:
redhatentpriselinuxas4(2.6内核)

单进程多线程(NPTL模式)如何能够同时使用多个cpu

网络上说可以通过内核参数调整解决该问题,不知道是否有高手可以给出答案
作者: rickyzhu    时间: 2007-2-3 15:22
这个问题,需要专家来解答一下.


作者: pigluobo    时间: 2007-3-16 13:04
标题: 回答
这个分为2块,一个通过软件的属性来定义的.如果2个线程序的数据信息不要交换,好比WORD在编辑的时候同时又在杀毒.那么如果CPU1运行WORD,CPU2运行杀毒.那么CPU1和CPU2之间就要进行信息交换,要通过缓存循环一次数据.如果2个程序票一个CPU就不需要循环,那么结论就是1个CPU跑起来要好与2个CPU.另外一种就是1个软件多个线程那么多CPU当然就要好与单个CPU.不知道我的解释能听明白吗?

[ 本帖最后由 pigluobo 于 2007-3-16 13:57 编辑 ]
作者: cangmang    时间: 2007-11-12 16:02
3楼解释的好,好比一个人很轻松的活让2个人干,效果不一定比一个人干好吧.呵呵
作者: eramyang    时间: 2009-8-20 16:41
学习到了,谢谢。
作者: vairdream    时间: 2009-8-24 17:55
原理是知道了,但是这个问题要怎么处理呢?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2