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

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
eagle0691
帖子: 41
注册时间: 2006-09-21 15:42

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

#1

帖子 eagle0691 » 2007-05-10 9:31

因为有的程序用双核会出错,时间以双倍进行,windows里可以在任务管理器选择进程使用哪个cpu,那么在ubuntu里应该怎么做?谢谢
eagle0691
帖子: 41
注册时间: 2006-09-21 15:42

没人会吗?

#2

帖子 eagle0691 » 2007-05-10 14:27

没人会吗?
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#3

帖子 stlxv » 2007-05-10 15:35

不清楚,不过估计是不行的
PHP是最好的语言!不服来战!
头像
Element
帖子: 3537
注册时间: 2005-09-10 16:04
来自: DG-GD-China

#4

帖子 Element » 2007-05-10 15:38

没想到双核还有这缺点,本想着双核跑程序快点,反而慢了,要双核有何用?
http://element.blog.ubuntu.org.cn/
Ubuntu Jaunty Jackalope...
AMD Barton 2600+
MSI K7N2 Delta-L
Kingston DDR400 512M*2+256M*1
nVidia FX5200
Seagate 80G(Jaunty Jackalope)
Seagate 160G(XXxxXX)
SyncMaster 732N
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#5

帖子 stlxv » 2007-05-10 15:41

Element 写了:没想到双核还有这缺点,本想着双核跑程序快点,反而慢了,要双核有何用?
双核只是提高并行性而已

一个在单核机器上正常的程序,到了双核机器上不正常这也很正常的事情,没什么好奇怪的
PHP是最好的语言!不服来战!
nj_chris
帖子: 145
注册时间: 2006-12-31 22:41

#6

帖子 nj_chris » 2007-05-10 18:04

居然还有这种事情,那就不用跑双核出错的软件了。
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#7

帖子 skyx » 2007-05-10 18:08

apic关掉就双核就变单核了吧?
no security measure is worth anything if an attacker has physical access to the machine
eagle0691
帖子: 41
注册时间: 2006-09-21 15:42

1

#8

帖子 eagle0691 » 2007-05-10 19:05

谢谢,谢谢大家,希望以后有这功能
头像
冲浪板
论坛版主
帖子: 7513
注册时间: 2007-05-06 8:19

#9

帖子 冲浪板 » 2007-05-10 19:17

自己编译个单cpu的....
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#10

帖子 eexpress » 2007-05-10 21:05

使用老版本的内核。有单的。
为什么断定是双核引起的问题?
● 鸣学
eagle0691
帖子: 41
注册时间: 2006-09-21 15:42

#11

帖子 eagle0691 » 2007-05-10 21:14

因为这种情况我在windows也遇到过,但我在win里的任务管理器里设置那个进程使用“比如cpu2”就恢复正常了,但ub里似乎还没解决办法,用单核的内核就没这必要了…… 谢谢
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#12

帖子 skyx » 2007-05-10 21:19

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应该可行
no security measure is worth anything if an attacker has physical access to the machine
头像
skyx
论坛版主
帖子: 9202
注册时间: 2006-12-23 13:46
来自: Azores Islands
联系:

#13

帖子 skyx » 2008-02-29 13:16

以前我的认识是不对的,关掉apic,双核仍然是双核,性能有所下降

amd的最新cpu有反双核技术(对程序来看是单核,但实际上底层是双核协同工作加速),对于没有对双核进行优化的程式,可以让amd cpu工作在反双核模式来提高性能。
no security measure is worth anything if an attacker has physical access to the machine
头像
zhihuasz
帖子: 665
注册时间: 2008-01-01 17:25
来自: 深圳
联系:

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

#14

帖子 zhihuasz » 2008-02-29 13:38

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

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


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

不过我认为,你应该检讨程序,而不是CPU,估计这个程序是使用了软件DELAY计数之类的算法。换成中断吧。
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26

#15

帖子 windwiny » 2008-02-29 15:25

单线程程序能在分在双核并行运行??? 那么神奇的事都有?
回复