Phoronix.com今天将他们对Linux系统的研究发挥到了极致:从2005年年中的2.6.12,到正在开发中的2.6.37,五年多来的26个Linux内核版本来了个“群英荟萃”!

完成如此庞大规模的横评并不容易,因为每个版本都要跑二十多个测试项目,每个项目又得跑至少三到五遍,总计超过2500次。好在一方面有自动测试套装Phoronix Test Suite,另一方面还有飞快的Intel Core i7-970六核心处理器。

Linux 2.6.12版本内核的时候,操作系统还是Ubuntu 5.10、SuSE 9.3、Fedora Core 4、Mandrake 2006这些老古董,而最终选择的基准系统是Fedora Core 4,并将其放在Ubuntu 10.10 64位系统下的虚拟机内。最新的2.6.37版本尚未发布正式版,本次测试使用的是2010-10-31 Git snapshot。至于2.6.12之前的更老版本,GCC4编译器和它们无法并存,故而没有加入此番测试。

测试平台的其他硬件配置还有:华擎X58 SuperComputer主板、3GB DDR3内存、OCZ Vertex 64GB固态硬盘、GeForce GTX 460显卡。

Linux系统内核这26个版本的具体发布时间依次如下:

2.6.12-2005.6.17

2.6.13-2005.8.29

2.6.14-2005.10.17

2.6.15-2006.1.3

2.6.16-2006.3.20

2.6.17-2006.6.17

2.6.18-2006.9.20

2.6.19-2006.11.29

2.6.20-2007.2.5

2.6.21-2007.4.25

2.6.22-2007.7.8

2.6.23-2007.10.9

2.6.24-2008.1.24

2.6.25-2008.4.17

2.6.26-2008.7.13

2.6.27-2008.10.9

2.6.28-2008.12.25

2.6.29-2009.3.23

2.6.30-2009.6.9

2.6.31-2009.9.9

2.6.32-2009.12.3

2.6.33-2010.2.24

2.6.34-2010.5.16

2.6.35-2010.8.1

2.6.36-2010.10.20

2.6.37-(开发中)

GnuPG:1GB文件加密时间上,2.6.12-29版一直保持稳定,都是10秒钟完成,然后2.6.30突然减速,延长到17秒,并且此后再也没有恢复,应该是源于文件系统方面的变化。

Gcrypt Library:CAMELLIA256-ECB加解密性能维持了惊人的稳定性,所有26个版本都差不多。

OpenSSL:同样没什么明显变化。

NAS Parallel Benchmark(NPB) IS.C:也都差不多,但是最快的2.6.29要比最慢的2.6.12快大约10%。

TTSIOD 3D Renderer:基本都在20FPS上下徘徊,2.6.16/25/26三个版本稍慢一些。

C-Ray:2.6.18表现最好,平均只需87秒钟,2.6.30则是最慢的,耗时长达100秒钟,不过此后几个版本都在慢慢提速。

Crafty:随着内核的成熟,这个开源国际象棋引擎的速度也在加快,最新版比最旧版快了大约6%。

Timed MAFFT Alignment:五年来的性能基本都是那样。

Himeno Benchmark:五年下来速度提升了10%,2.6.30又一次发生突变。

John The Ripper:2.6.12/30出现了短暂的波谷,其他24个版本大同小异。

LAME MP3 Encoding:音频编码性能又一次几乎没变过。

7-Zip Compression:文件压缩方面首次出现了很明显的反复波动,最初的2.6.12 17844MIPS,最高的2.6.23 19376MPS,最低的2.6.30 16175MIPS,最新的2.6.37 17206MIPS。

BYTE Unix Benchmark Dhrystone 2:2.6.30版开始略有提升,但幅度很小。

Loopbakc TCP Network:通过TCP网络回环界面传输10GB的速度变化很有意思。2.6.30版本之前虽然也有大幅度的反复,总体还是比较快的,2.6.20更 是仅需13.7秒钟,最近一年来就明显慢多了,2.6.32一度长达55.8秒钟,而最新的2.6.36/37缩短到了44秒钟,算是略有改善。

Timed Apache Compilation:2.6.30开始骤然提速,从17-18秒缩短到9-10秒,并且之后基本保持稳定。

Apache Benchmark:文件系统相关项目开始就碰到了又一个反复无常。2.6.12作为起点不够快,之后很长时间内明显加速,但到了2.6.25/26跌至 低谷,随后2.6.27爆发了一下,又开始慢慢花落,如今2.6.37和五年前基本相当——转了一圈又回去了。

PostMark:2.6.2x系列的磁盘传输性能成绩惨不忍睹,特别是2.6.29降至冰点几乎为零,但是2.6.30就来了个咸鱼大翻身,此后虽略有退步但已经不同往日。

FS-Mark:对付一千个1MB文件的波动也比较明显,2.6.29/33-36都比较惨,但是最新的2.6.37基本恢复了往日风采。

IOzone:最初几个版本的写入性能还是比较快的,但之后一蟹不如一蟹,2.6.29也再次倒数第一。

IOzone:读取性能相对稳定多了,基本都在200MB/s上下徘徊,2.6.37 204MB/s的速度已经基本是最快的了。

Threaded I/O Tester:2.6.29又一次不堪入目,将之前的努力全部抹杀,之后经过2.6.30-32的恢复、2.6.33-36的倒退,2.6.37算是回归正常,8.15MB/s的速度已经高于平均值。

Parallel BZIP 2 Compression:再次压缩256MB文件,整体非常平稳,彼此差距不到1秒钟。

小结:

这是我们第一次看到如此庞大规模的Linux系统内核测试,结果也让我们开了眼。单凭印象,很多用户和开发人员可能会认为随着Linux系统内核的功能特性越来越丰富、体积越来越庞大,性能应该会逐步倒退,但事实上在大部分情况下这五年来的性能都维持了惊人的稳定,也有不少地方虽然反复升降但是总体来看是呈进步趋势的。

根据测试,整体性能有所改进的项目包括John The Ripper、Himeno、PostMark、FS-Mark、Threaded I/O Tester和代码编译相关等等,明显倒退的则有只有GnuPG、Loopback TCP Network Performance、Ozone,其他都是波澜不惊。

2.6.29、2.6.30无疑是最有趣的两个版本。前者是2.6.2x系列的终结之作,也是2009年的第一 个正式版,带来了Intel内核模式设定、Btrfs文件系统试验性支持、SquashFS集成、WiMAX初步支持、eCryptfs文件名加密等众多 新特性,但不少项目中却是最差劲的,而且落后的不是一星半点。随后的2.6.30又带来了NILFS2和EXOFS文件系统、IEEE 802.11w支持、Tomoyo、LZMA/BZIP2内核镜像压缩、完整管理架构等等,性能上不但一雪前耻,还有了很大的飞跃。接下来的几个版本经常 出现倒退,但整体趋势还是好的,特别是还要几个月才会面世的2.6.37版又有所提速

五年26个版本:Linux系统内核全程回顾的更多相关文章

  1. 对Linux系统内核版本稳定性测试介绍

    对Linux系统内核版本稳定性测试介绍 在对 Linux 内核版本稳定性的测试中,需要明确地声明并证明为什么版本是稳定的或者是不稳定的. 然而还没有被证明和证实当前现有的系统范围内的压力测试可以测试 ...

  2. Linux 系统内核的调试

    http://www.ibm.com/developerworks/cn/linux/l-kdb/index.html 本文将首先介绍 Linux 内核上的一些内核代码监视和错误跟踪技术,这些调试和跟 ...

  3. Linux系统内核制作和内核模块的基础

    Linux系统内核制作 1.清除原有配置与中间文件 x86:  make distclean arm:  make distclean 2.配置内核 x86:  make menuconfig arm ...

  4. 让C/C++程序一次编译可以发布到多版本Linux之上

    最近页游开放平台比较多, 每个平台要求的Linux版本各不相同, 这给开发人员部署服务器带来了很大的困难. 在本机Linux编译的程序,发布时即便将依赖的so附带到目标Linux环境,仍然会碰到依赖及 ...

  5. centos7下安装MySQL 5.7.26 二进制版本(免安装绿色版)

    MySQL 5.7.26 二进制版本安装(免安装绿色版) 下载地址 https://downloads.mysql.com/archives/community/ https://cdn.mysql. ...

  6. 合肥.NET技术社区首次线下聚会全程回顾【多图】

    2019年3月16日对于合肥.NET来说是一个特别的日子,因为这是合肥.NET技术社区首次非正式线下聚会!这次聚会受场地限制(毕竟是聚餐的形式),即使换成了小椅子后,最多也只能容纳24个人,所以还有一 ...

  7. Linux系统内核正式进入5.0版本时代

    知名Linux内核开发人员兼维护人员Greg Kroah-Hartman今天宣布,Linux Kernel 4.20内核分支已经结束并督促用户尽快升级至更新的内核分支. Linux Kernel 4. ...

  8. 各版本 linux(转)

    Linux各种版本下载 ftp://ftp.linuxforum.net/ISO/Redhat7.3/valhalla-i386-disc1.iso ftp://ftp.linuxforum.net/ ...

  9. linux系统内核版本升级

    一.查看Linux内核版本命令(2种方法): 1.cat /proc/version 2.uname -a 二.查看Linux系统版本的命令(3种方法): 1.lsb_release -a 即可列出所 ...

随机推荐

  1. 使用EXTEND方式来分段处理大表的搬数据

    创建一个表: 记录rowid的分区段并作为处理的日志表: DROP TABLE DEAL_TABLE_EXTENT; CREATE TABLE DEAL_TABLE_EXTENT(seq        ...

  2. Set无序怎么办?

    在JAVA中,提供多种不同的结构来组织对象,Set(集合)是其中的一种,本身是一个接口,其迭代时的顺序取决于其具体实现. 典型的实现包括: HashSet:哈希表是通过使用称为散列法的机制来存储信息的 ...

  3. floyd学习中

    #include<iostream> #include<math.h> #include<stdio.h> using namespace std; //long ...

  4. leetcode First Missing Positive python

    class Solution(object): def firstMissingPositive(self, nums): """ :type nums: List[in ...

  5. Linux学习之停止进程

    首先,用ps查看进程,方法如下: ps -ef ……smx       1822     1  0 11:38 ?        00:00:49 gnome-terminalsmx       18 ...

  6. cursor的形状

    Example:CSS鼠标手型效果 <a href="#" style="cursor:hand">CSS鼠标手型效果</a> Exam ...

  7. HTML豆ちしき

    HTML文档里所有的空白符(空格,Tab,换行,回车)会被浏览器忽略,唯一的例外是空格,对空格的处理方式是所有连续的空格被当成一个空格,不管有一个,还是两个,还是100个.之所以有这样的规则是因为忽略 ...

  8. Flink资料(8) -- Flink代码贡献的指导及准则

    本文翻译自Contributing Code ----------------------------------------- Apache Flink是由自愿的代码贡献者维护.优化及扩展的.Apa ...

  9. MCS-51系统中断优先级的软扩展

    摘要:鉴于MCS-51系统只提供“二级中断嵌套”,提出扩展51系统中断优先级的纯软件方法.其利用51系统内建的中断允许寄存器IE和中断优先级寄存器IP,通过屏蔽字机制来实现:以C51的形式,给出这种扩 ...

  10. delphi 基础书籍推荐

    本文所推荐的书,我均仔细读过,受益良多. 1. Pascal 精要.下载Pascal精要 本书讲Pascal 语言基本知识. 2. Object Pascal 参考(中英文对照版).下载Object ...