当前位置: 首页>>技术教程>>正文


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

, ,

问题描述

Ubuntu是否使用多核CPU(据说Windows 7会这样做)?

换句话说,它是否进行了多任务优化,以便用户可以从4+核心处理器中受益?

最佳解决思路

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

Some background

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

次佳解决思路

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

Ubuntu使用Linux kernel,它使用symmetric multiprocessing(SMP)和多个内核。它可以很好地从low-end single-cpu single-core系统扩展到具有数千个multi-core CPU的high-end超级计算机集群。

Ubuntu附带了数百个库,其中一些是multi-threaded和thread-safe,其中一些不是。在某些情况下,将它们作为multi-threaded是有意义的,在其他情况下它不适用,通常可能或没有多大意义。

Ubuntu附带了数百个应用程序,其中一些被编码为使用multi-core CPU,有些则没有。在某些情况下,对应用程序进行编码是有意义的,在其他情况下,它是不可能的。并非所有可以或应该使用多个核心的应用程序都这样做。

例如,游戏使用multi-core用于图形,音频,网络,物理等等是有意义的。但是对于multi-core意识到的计算器,截图工具,suduko或菜单编辑器没有意义。

第三种解决思路

Ubuntu的kernel现在支持多个CPU,如果它的multi-core或多个CPU在一个系统中不会真正重要,它们将得到完美处理。

但是,您必须注意的一件事是,仅仅因为系统支持多个CPU /核心而系统中存在这些CPU并不意味着您的应用程序将自动运行得更快。你现在被告知对面很多天,它是一个营销的东西。

对于同时利用多个CPU /核心的应用程序,需要构建它以共享这些CPU /核心上的进程负载。

即:假设你在Windows中运行像wordpad一样简单的东西,你用它打开一个巨大的文本文件,加载时间将是相同的,你有1个CPU或1亿个CPU(对于具有相同总线速度和相似的CPU)建筑学.c)。

Linux Kernel和Ubuntu发行版也是如此,如果一个应用程序是为单个线程构建的,那么就没有更多的CPU可以做了。

操作系统现在用来优化多个CPU /核心上的应用程序负载的一件事就是能够在核心上运行一个不像其他核心那样负载的核心,从而平衡负载并确保你的多核心利用率是最佳的。在实践中,使用该技术只会带来很小的速度提升。

如果你真的想看到你的内核闪耀,你需要使用支持symmetric multiprocessing的程序来进行大量的CPU利用率,比如视频编辑等。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2860.html,未经允许,请勿转载。