减少Linux内核空循环,降低系统能耗技巧

  如果不花更多的时间看表,你将有更多充裕的时间。

  通俗地讲,这就是Linux内核中一个重要变化的基本原理,编程人员希望这一变化能够提高Linux的效率。新版Linux操作系统将采用“tickless”(没有空循环)的内核,使处理器能够在低能耗状态下运行。

  能耗对于所有操作系统都是非常重要的。对于Linux而言,通过延长电池续航时间,低能耗能够提高它在笔记本电脑和服务器领域对Windows的竞争能力,降低电费成本。

  tickless内核不是唯一的提高Linux能源使用效率的计划。5月份,英特尔发布了一款名为PowerTop的软件。Illuminata的分析师哈夫在谈到节能计划时说,这非常重要。

  一些Linux发展需要数年才能为主流市场所接受,但“tickless”内核正在进入主流Linux版本中。在谈到新内核时,Linux之父托瓦兹说,大部分的重新设计工作已经完成。他表示,对于高级软件而言,PowerTop的价值是无法衡量的。

  Linux内核编程人员范德文表示,尽管还有更多的工作需要完成,但已经取得了相当的进展。他说,实验室测试表明,与3个月前使用的代码相比,Linux笔记本电脑的能耗降低了15%-25%。

  尽管并非计算机中的唯一能耗大户,但处理器的能耗通常超过了100瓦。另外,散热风扇也需要电能来吹走处理器产生的热量。但是在最近数年中,芯片厂商已经使得处理器能够在低能耗状态下运行。处理器时钟频率下降后,电压也会随之下降,能耗也会下降。

  但操作系统内核在节能方面做得还不够好。其中之一是软件经常不必要地使操作系统内核处于“警戒”状态。另外一个问题是内核本身也会浪费能源。英特尔的软件能够发现第一类问题,“tickless”内核则能够解决第二类问题。

  2.6.21版Linux内核支持“tickless”技术,它已经被应用在了Fedora

  7。范德文说,2.6.21版Linux内核能够节省大量能耗。在最节能的状态下,英特尔移动芯片的能耗为1.2瓦,“tickless”使处理器能够在最节能的状态下运行。

  tickless内核仍然会记录时间,但采用了不同的方式。不再频繁地检查是否有工作需要完成,当知道有工作需要完成后,内核会调度硬件发出中断请求。

  tickless内核在节能方面还有另一个间接好处:更好地利用虚拟技术,意味着虚拟软件不会被过多地、不必要地中断。

  Phoronix网站编辑迈克尔发现,在IBM配置Pentium M、运行Fedora 7的ThinkPad R52上,tickless内核能够将能耗由28瓦减少至26瓦。他说,tickless内核,再加上芯片级节能技术,能够延长电池续航时间和减少发热量

时间: 2024-10-30 22:45:15

减少Linux内核空循环,降低系统能耗技巧的相关文章

Linux内核里的数据结构——位数组

Linux 内核中的位数组和位操作 除了不同的基于链式和树的数据结构以外,Linux 内核也为位数组(或称为位图(bitmap))提供了 API.位数组在 Linux 内核里被广泛使用,并且在以下的源代码文件中包含了与这样的结构搭配使用的通用 API: lib/bitmap.c include/linux/bitmap.h 除了这两个文件之外,还有体系结构特定的头文件,它们为特定的体系结构提供优化的位操作.我们将探讨 x86_64 体系结构,因此在我们的例子里,它会是 arch/x86/incl

Linux 内核里的数据结构——位数组

Linux 内核中的位数组和位操作 除了不同的基于链式和树的数据结构以外,Linux 内核也为位数组(或称为位图bitmap)提供了 API.位数组在 Linux 内核里被广泛使用,并且在以下的源代码文件中包含了与这样的结构搭配使用的通用 API: lib/bitmap.c include/linux/bitmap.h 除了这两个文件之外,还有体系结构特定的头文件,它们为特定的体系结构提供优化的位操作.我们将探讨x86_64 体系结构,因此在我们的例子里,它会是 arch/x86/include

戴文的Linux内核专题:13 配置内核(9)

Novell的网络协议IPX通常用于Windows系统和NetWare服务器(The IPX protocol).IPX代表网间分组交换(Internetwork Packet Exchange).这是一个网络层协议通常与传输层的SPX协议同时使用. 为了使NetWare服务器在服务的网络中有相同的IPX地址,启用下一个特性(IPX: Full internal IPX network).不然,每个网络都会看到服务器一个不同的IPX地址. 注意:IPX协议使用IPX寻址,而不是IP寻址.IP地址

[收藏学习]Linux内核虚拟机 学习KVM架构及其优点

本文转自IBM,参考:http://www.ibm.com/developerworks/cn/linux/l-linux-kvm/index.html#N100B0 虚拟化 概念很早就已出现.简单来说,虚拟化就是使用某些程序,并使其看起来类似于其他程序的过程.将这个概念应用到计算机系统中可以让不同用户看到不同的单个系统(例如,一台计算机可以同时运行 Linux 和 Microsoft Windows).这通常称为全虚拟化(full virtualization). 虚拟化也可以使用更加复杂的格

Linux 内核参数优化(for oracle)

    Oracle 不同平台的数据库安装指导为我们部署Oracle提供了一些系统参数设置的建议值,然而建议值是在通用的情况下得出的结论,并非能完全满足不同的需求.使用不同的操作系统内核参数将使得数据库性能相差甚远.本文描述了linux下几个主要内核参数的设置,供参考. 1.Linux共享内存  共享内存是在系统内核分配的一块缓冲区,多个进程都可以访问该缓冲区.  由于进程可以直接读写内存,避免了在内核空间与用户空间的切换,所以共享内存读写效率很高.  当一个进程改变了这块地址中的内容的时候,其

ZLG致远电子Linux内核开发工具介绍

众所周知,Linux内核是使用make命令来配置并编译的,那必然少不了Makefile.如此复杂.庞大的内核源码绝不可能使用一个或几个Makefile文件来完成配置编译,而是需要一套同样复杂.庞大,且为Linux内核定制的Makefile系统. 尽管她是一个复杂的系统,但对绝大部分内核开发者来说只需要知道如何使用,而无需了解其中的细节.她对绝大部分内核开发者基本上是透明的,隐藏了大部分实现细节,有效地降低了开发者的负担,能使其能专注于内核开发,而不至于花费时间和精力在编译过程上. 1.1 Lin

Linux内核剖析 之 Linux源代码组成

Linux内核剖析 之 Linux源代码组成   ++++Linux:           ++COPYING:有关公共许可证制度GPL的具体说明.           ++README:Linux内核安装和使用的简要说明.           ++Makefile:重构Linux内核可执行代码的make文件.用来组织内核的各模块,记录了个模块间的联系和依托关系,编译时使用:仔细阅读各子目录下的Makefile文件对弄清各个文件这间的联系和依托关系很有帮助.           ++CREDIT

Ubuntu中为Android系统上编写Linux内核驱动程序实现方法_Android

        在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Android系统逐步扩大市场占有率,终端设备的多样性亟需更多的移动开发人员的参与.据业内统计,Android研发人才缺口至

在Ubuntu上为Android系统编写Linux内核驱动程序

在智能手机时代,每个品牌的手机都有自己的个性特点.正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了.据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore.随着Android系统逐步扩大市场占有率,终端设备的多样性亟需更多的移动开发人员的参与.据业内统计,Android研发人才缺口至少30万.目前,