分页: 1 / 1

双核机器,如何让进程只用一个cpu?

发表于 : 2007-05-10 9:31
eagle0691
因为有的程序用双核会出错,时间以双倍进行,windows里可以在任务管理器选择进程使用哪个cpu,那么在ubuntu里应该怎么做?谢谢

没人会吗?

发表于 : 2007-05-10 14:27
eagle0691
没人会吗?

发表于 : 2007-05-10 15:35
stlxv
不清楚,不过估计是不行的

发表于 : 2007-05-10 15:38
Element
没想到双核还有这缺点,本想着双核跑程序快点,反而慢了,要双核有何用?

发表于 : 2007-05-10 15:41
stlxv
Element 写了:没想到双核还有这缺点,本想着双核跑程序快点,反而慢了,要双核有何用?
双核只是提高并行性而已

一个在单核机器上正常的程序,到了双核机器上不正常这也很正常的事情,没什么好奇怪的

发表于 : 2007-05-10 18:04
nj_chris
居然还有这种事情,那就不用跑双核出错的软件了。

发表于 : 2007-05-10 18:08
skyx
apic关掉就双核就变单核了吧?

1

发表于 : 2007-05-10 19:05
eagle0691
谢谢,谢谢大家,希望以后有这功能

发表于 : 2007-05-10 19:17
冲浪板
自己编译个单cpu的....

发表于 : 2007-05-10 21:05
eexpress
使用老版本的内核。有单的。
为什么断定是双核引起的问题?

发表于 : 2007-05-10 21:14
eagle0691
因为这种情况我在windows也遇到过,但我在win里的任务管理器里设置那个进程使用“比如cpu2”就恢复正常了,但ub里似乎还没解决办法,用单核的内核就没这必要了…… 谢谢

发表于 : 2007-05-10 21:19
skyx
APIC (高级可编程中断控制器)对计算机来讲有两个作用,
一是管理IRQ的分配,可以把传统的16个IRQ扩展到24个(传统的管理方式叫PIC),以适应更多的设备。
二是管理多CPU。APIC关闭直接的影响是减少了可用的IRQ。
不过,如果板卡不是非常多的话,关闭 APIC对系统是没有什么影响的。
要实现SMP功能,我们使用的CPU必须具备以下要求:
CPU 内部必须内置APIC单元。Intel 多处理规范的核心就是高级可编程中断控制器(Advanced Programmable Interrupt Controllers--APICs)的使用。CPU通过彼此发送中断来完成它们之间的通信。通过给中断附加动作(actions),不同的CPU可以在某种程度上彼此进行控制。每个CPU有自己的APIC(成为那个CPU的本地APIC),并且还有一个I/O APIC来处理由I/O设备引起的中断,这个I/O APIC是安装在主板上的,但每个CPU上的APIC则不可或缺,否则将无法处理多CPU之间的中断协调。
APIC可能遇到的问题,很多这类问题可以通过BIOS更新来解决。
关掉apic应该可行

发表于 : 2008-02-29 13:16
skyx
以前我的认识是不对的,关掉apic,双核仍然是双核,性能有所下降

amd的最新cpu有反双核技术(对程序来看是单核,但实际上底层是双核协同工作加速),对于没有对双核进行优化的程式,可以让amd cpu工作在反双核模式来提高性能。

Re: 双核机器,如何让进程只用一个cpu?

发表于 : 2008-02-29 13:38
zhihuasz
eagle0691 写了:因为有的程序用双核会出错,时间以双倍进行,windows里可以在任务管理器选择进程使用哪个cpu,那么在ubuntu里应该怎么做?谢谢
什么叫做时间以双倍进行?
对于单进程自身而言,指令被取到不同的处理器执行而已,程序自身是不知道自己被两个处理器执行的

相当于单个CPU性能上提升了,但是不代表程序获得两倍的执行时间


BIOS应该支持关闭其中一个核心的吧?至少我用的DELL支持

不过我认为,你应该检讨程序,而不是CPU,估计这个程序是使用了软件DELAY计数之类的算法。换成中断吧。

发表于 : 2008-02-29 15:25
windwiny
单线程程序能在分在双核并行运行??? 那么神奇的事都有?