我有一个multithreading软件,在最新的ubuntu服务器,redhat企业版和CentOS下以不同的速度运行,所有这些都安装在完全相同的服务器上进行比较。
Ubuntu服务器最慢,其次是CentOS,然后是Redhat企业。 差距是10-20%。
centOS和redhat之间的区别可能会被更新的gcc版本所取代,但至less在最后两个操作系统中使用了相同版本的gcc。
我在Ubuntu下运行的结果是,虽然程序使用了13个内核,但是“top”报告的CPU总数大约是1220%,而在redhat(和centOS)上是1300%
有人有解释吗? 我更喜欢和Ubuntu一起工作(它是免费的),但是我承受不了这个速度慢的问题。 我尝试了其他multithreading的基准,这似乎也表明,Ubuntu的速度有点慢 – 在同一个下载的可执行文件,本地编译。
这不是一个确凿的答案,只是一些太长的评论意见。
尝试一下,而不是top 。 它提供了一个更好的观点是怎么回事。 我发现最近的输出也非常不一致。 我没有解释为什么,但我已经看到了与多核心相同的行为。
这些安装在VMWare内吗? 我运行了5个不同的虚拟机上的各种工具,运行5个不同的发行版:Ubuntu,CentOS,RHEL,SUSE和Debian。 我得到了不同的结果,似乎没有任何我能find的相关的结果。 当我将这个升级到Red Hat时,我得到的build议是,一些发行版内核比其他发行版更适合VMWare。 这是几年前,但事情可能已经改变了。
你能够更好地描述你在应用程序中运行的内部基准吗? 这个问题可以很容易地结束坐在serverfault和stackoverflow之间…