Ubuntu是否针对多核CPU进行了优化?


33

Ubuntu是否使用多核CPU(据说是Windows 7)?

换句话说,是否对多任务进行了优化,以便用户可以利用4个以上的核心处理器?


7
在这种情况下,“优化”一词毫无意义。Linux内核支持多核CPU,因此Ubuntu也是如此。“优化”由该“支持”的质量级别给出。
gd1 2011年

2
如果要获得最佳性能,则可能需要运行64位版本的Ubuntu,这在某些任务中有时会更快。
匿名

@Anonymous难道不是因为它可以利用更多的RAM吗?32位只能使用那么多GB的RAM(包括所有视频卡等),但需要特殊的CPU和操作系统。
匿名企鹅

Answers:


45

是的,Ubuntu已针对多核CPU进行了优化,并且已经使用了很多年。

一些背景

“(Linux内核的2.0版已于1996年6月9日发布。该系列共有41个版本。2.0的主要功能是对SMP的支持(即单个系统中的对称多处理)和对更多类型处理器的支持。 ”。


4
基本上,Linux在Abacus之前就有SMP。它甚至支持SSMP2,但是直到技术赶上Linux时,我们才知道这是什么。
Luis Alvarado

当然比Windows好!;)
保罗

2
@Michael K,据记录,Windows NT内核在很长一段时间内一直具有良好的SMP支持。应用程序是否足够智能以适当地利用多个处理器或内核是完全另一回事。
Mircea Chirea 2012年

25

Ubuntu是一个操作系统,一个Linux发行版。操作系统由几个软件组件组成,例如内核,,服务/守护程序,应用程序等。

Ubuntu使用Linux内核,该内核利用对称多处理(SMP)和多个内核。从低端单CPU单核系统到具有数千个多核CPU的高端超级计算机集群,它的扩展性非常好。

Ubuntu附带了数百个库,其中一些是多线程和线程安全的,而有些则不是。在某些情况下,使它们成为多线程是有意义的,而在另一些情况下,则不适用,通常不可能或没有太大意义。

Ubuntu附带了数百种应用程序,其中一些被编码为使用多核CPU,有些则没有。在某些情况下,按原样对应用程序进行编码确实有意义,而在其他情况下则不可能。并非所有可能或应该利用多个内核的应用程序都这样做。

例如,对于游戏来说,在图形,音频,网络,物理等方面使用多核是有意义的。但是,计算器,屏幕截图工具,suduko或菜单编辑器必须具有多核意识才有意义。


“贸易安全”?你是说线程安全的吗?
Flimm

10

Ubuntu的内核现在已经很长时间支持多个CPU,如果在一个系统中使用多核或多个CPU并不能真正实现,那么它们将得到完美的处理。

不过,您必须要知道的一件事,就是因为系统支持多个CPU /内核,并且它们存在于系统中,但这并不意味着您的应用程序会自动运行得更快。如今,您经常被告知相反的情况,这是一种营销活动。

为了使应用程序同时利用多个CPU /内核,需要构建它以在这些CPU /内核上共享进程负载。

即:假设您运行的操作与wordpadWindows中的操作一样简单,并且正在使用它打开一个巨大的文本文件,则无论您拥有1个CPU还是1个无数个CPU,加载时间都是相同的(对于具有相同总线速度和类似架构的CPU ofc)。

Linux内核和Ubuntu发行版也是如此,如果应用程序是为单个线程构建的,那么CPU将无能为力。

操作系统现在正在做的事情之一是优化多个CPU /内核上的应用程序负载,它能够在一个不像其他负载那么大的内核上运行进程,从而平衡负载并确保您的多个内核利用率最佳。严格地说,使用该技术只会带来很小的速度改进。

如果您真的想看到自己的内核发亮,则需要使用支持对称多处理的程序(例如视频编辑等)来提高CPU的利用率。


1

是的,它对我来说非常有效,我有多个处理器超线程,我忘了那是什么意思,但是我敢肯定,这意味着每个处理器可以执行多个线程,并且每个处理器都具有2核,似乎是一个问题。到目前为止,我遇到的唯一问题是ubuntu上的程序倾向于冻结它。由于我有6GB的RAM,因此减少了交换频率,从而减少了这种情况的发生。


您对程序挂起的评论最好放在有关此问题的地方。如果找不到有关挂起程序的适当问题,则可以自己询问然后回答-在askubuntu上完全可以。我建议您在此处删除评论,而只是在可能更容易找到的地方共享您所学的知识。
约翰·格鲁伯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.