超级困惑,关于双cpu的。
一个程序在双cpu的机器上跑,可是一个cpu的占用率特别大,另一个却很小?有没有高手知道原因的! 问题点数:25、回复次数:9Top
1 楼liqi(sniper)回复于 2004-08-04 15:48:21 得分 0
另外还要注意你的程序是不是按多CPU编译的!Top
2 楼NewFree(新自由人)回复于 2004-08-04 15:59:11 得分 5
to liqi:
怎么设置程序为"多CPU编译"?
我觉得对多CPU而言,任务的分配和CPU站用率应是底层操作系统来控制的,在应用层可以控制吗?我不太清楚?Top
3 楼wind_xu(疯子)回复于 2004-08-16 23:39:19 得分 0
是啊!
不过程序是属于什么层的?Top
4 楼Mackz(在相互)回复于 2004-08-16 23:57:17 得分 5
多线程才能发挥多CPU的能力。Top
5 楼rwdx(忆)回复于 2004-08-16 23:58:38 得分 0
同意楼上!Top
6 楼flyback(墨羽)回复于 2004-08-17 17:56:59 得分 5
不用,这样属于正常,多的那个cpu给我吧Top
7 楼wind_xu(疯子)回复于 2004-08-18 21:41:58 得分 0
...
不给,打死我都不给你。Top
8 楼roger_ding(海天一色)回复于 2004-08-19 13:18:23 得分 10
双CPU不代表两个CPU能同时最大负荷运行,举个例子:
如果程序的很多地方都针对一块内存区域访问,那么部分代码就必须分先后执行,譬如代码A对内存处理的结果交给程序B来读取,这样代码A就不能和代码B分在两个CPU上并行执行,因为它们是要分先后的(如果B和A同时运行,天知道B会读到内存中的什么数据!),所以如果程序对某一块内存访问过多,或者存在大量需要同步的代码,则不会充分利用到第二个CPU的效能Top
9 楼flyback(墨羽)回复于 2004-08-19 15:48:00 得分 0
程序都需要优化的,比如从1+2+3...+100就可以进行优化,对于3D图片的渲染,双cpu可以一个渲染图片的上半截,另一个渲染下半截但是对于中间结果不能确定的计算,就不能用双cpu解决,所以n个cpu是不能解决顺序计算的问题Top




