在一两年前,Linux核心尚缺乏一个好的的硬碟预读机制时,桌面系统的使用者若要加速开机的速度,通常得先解决开机的瓶颈问题。于是得依赖如readahead这样的工具来预先载入想读入的档案,以便提高系统载入的速度。

readahead的基本原理是先预先载入开机过程可能使用的档案到记忆体中(page cache)。如此开机程式执行时,便可节省读入档案的时间,进而加快开机速度。

当然,前提是你要有足够的记忆体作快取。若你的系统只有小记忆体,不建议使用readahead.目前在Ubuntu, Debian GNU/Linux下使用的版本基于Erich Schubert 、Robin H. Johnson、Scott James Remnant,改自于Gentoo的版本。 Fedora Project则有另外一个概念相同,但由RedHat所开发的的不同实做。

以下所说明的是Ubuntu, Debian GNU/Linux版本。

为了使readahead可以正确的对开机所需的档案快取,你必须教会readahead目前有多少档案需要被预先载入,原则上只需要作一次。 Ubuntu在释出官方版本时,

便会内建一组预先较调的档案列表。但若每次更新核心或套件系统,特别是开机所需的程式,其实都应该做过一次“profile”的动作,以便readahead保持正确的载入档案列表。

相较于Debian说明readahead的说明文件,在Ubuntu由于仍使用旧版,使用上则颇为谜样,Ubuntu的README.Debian只提醒你readahead不能用在NFS上,忘了说明使用方法。在Ubuntu上,readahead会检查/proc/cmdline中是否有profile参数,若有则进行profiling的程序。若使用Grub,则操作方式如下

开机见到“GRUB loading”提示时,按下“Esc”键

按下“e”键进行编辑(若有多核心,先选择预设开机之核心行)

按下“向下” (↓)键到“kernel”行

再选“e”键进行编辑

你会进入参数编辑模式,移动到参数最后加入“profile”,”profile”字样前记得填入空白。

按下“Enter”完成编辑

按下“b”键开机

第一次开机稍慢,但作过一次profile后,之后的开机速度应该会提高些。

在Debian下,只需用root下达以下指令后,重新开机即可

# touch /etc/readahead/profile-once

但在新版的Linux核心,有On-demand read-ahead等技术的加持,这样的工具已经不特别需要,甚至反而会拖慢开机的时间。

试着在安装了Ubuntu Eee的ASUS EEEPC 701上测试(核心为2.6.24-16-generic),以预设安装软体测试开机到桌面环境出现的uptime,每次都大约60s。进行profile则约使用80秒,profiled过readahead开机速度相同。

另外也在我的Thinkpad X60 1706-B69上测试,软体是Debian sid,核心为2.6.26-1-686。系统装了相当多杂七杂八的软体,硬体装了2G记忆体,硬碟则是8M Buffer, 5400RPM的FUJITSU MHV2100B。 profile大约使用152s,profiled readahead开机则约55s,关掉readahead则约53s。

linux开发板加快开机速度,readahead加速Linux开机速度相关推荐

  1. linux开发板显示横向彩虹,如何使用Linux终端彩虹色

    这篇文章是为那些谁相信Linux的命令行是枯燥,没有太多的乐趣. 要创建一个有趣的丰富多彩的设置lolcat 工具可以使用,这产生的彩虹色的Linux终端. Lolcat公用事业工程为Linux,BS ...

  2. Linux开发(1):搭建嵌入式Linux开发环境

    在讲述详细的开发环境搭建之前,先大概讲讲本文介绍了哪些内容 首先,我们是在Windows下通过VMware运行虚拟机Ubuntu来运行主机端的Linux,然后再通过串口线连接电脑和Linux开发板 那 ...

  3. 意法半导体STM32MP157A MPU加持,米尔科技首款ST Linux开发板MYD-YA157C评测

    ST公司去年推出了MPU系列芯片,MPU系列不同于以往产品,它既包含有ARM公司Cortex M 单片机核心,也包含有ARM公司Cortex A 应用处理器核心,以期将STM32单片机产品优势扩展到更 ...

  4. 基于正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2)的个人自学记录

    基于正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2)的个人自学记录 硬件环境 正点原子Linux开发板(ALIENTEK I.MX6U ALPHA V2.2) 底板+核 ...

  5. Linux开发板 - 02 - eop/uboot下载

    Linux开发板 - 02 - eop/uboot下载 前言:韦东山开发板学习笔记,第二篇.上一篇讲了:如何与ubuntu系统通讯,属于开发手册 "第三章-开发环境搭建" 的内容. ...

  6. linux开发板 pc 通讯_从51单片机到Linux 开发板运行hello world(教程4)

    大家好,我是兔子. 是一个嵌入式软硬件工程师. 正在从单片机开发转岗Linux开发. 这次教大家如何在Linux开发板上运行可执行文件. 简单起见,不涉及到硬件.直接和教程2一样,能在PC虚拟机上运行 ...

  7. 【嵌入式Linux应用】初步移植MQTT到Ubuntu和Linux开发板

    1. 概述 ​ 本篇主要是记录将MQTT移植安装到百问网STM32MP157开发板上,并且是跑一下MQTT的一个例程来验证,要完成本次移植安装,必须要保证电脑和开发板都能上网.. 2. 软件平台 ​ ...

  8. 移植中文TTS(ekho)到ARM linux开发板

    移植ekho到arm linux,实现将中文转换为.wav格式的语音文件. 移植开源库libsndfile到arm linux开发板 1. 下载压缩源码包libsndfile-1.0.28.tar.g ...

  9. 配置linux开发板ssh登录

    linux开发板作为服务端,所以要修改sshd_config文件 注:不是修改ssh_config文件 修改步骤: 进入/etc/ssh目录:cd /etc/ssh 备份sshd_config文件(可 ...

最新文章

  1. CSS常见布局解决方案
  2. 《硝烟中的Scrum和XP》作者新作 《精益开发实战》
  3. option:contains后面加变量_什么是配置环境变量,配置以后有什么作用呢?
  4. HTML5css3学习总结(2)
  5. 为什么前端工程师薪资越来越高?
  6. springboot springmvc mybatis_深圳嘉华学校之springboot实战教程
  7. f018计算机辅助设计是什么,F018,丝印Marking-电子元件丝印查询
  8. 阿酷三合一版_3DMax阿酷插件终极版下载-阿酷插件 v3.2 2009-2020 开源无限制版-简易下载站...
  9. 装Linux gpt还是mbr,装机、装系统必备:秒懂MBR和GPT分区表
  10. 虫洞和诸多未解之谜有关联吗?
  11. 618运动好物清单、必买运动装备推荐
  12. 惠州教学实验室建设与管理
  13. 哪款文件比较软件适合程序员
  14. MATLAB—离散一元、二元、多元函数求导求梯度(二维、三维、多维空间)(diff和gradient)
  15. Java Date Calendar类的使用 如何计算两个日期之间有多少天
  16. PTA 盲盒包装流水线 (25 分)
  17. VisionMobile:2011年智能手机数据
  18. 100天精通Oracle-实战系列(第8天)保姆级 PL/SQL Developer 安装与配置
  19. java新浪微博客户端
  20. 自然语言处理(NLP)编程实战-1.2 使用朴素贝叶斯实现情感分类

热门文章

  1. html创建scrpts方法,HTML5 Canvas口香糖/粘稠球/软面团
  2. list循环赋值_一步一步学Python3(小学生也适用) 第十七篇:循环语句for in循环
  3. 10代cpu装win7_11代CPU共26款型号全曝光:10核心确定没了
  4. [javaweb] servlet处理请求参数中文乱码的问题
  5. python基础入门:实现(无重复字符)字符串的全排列的两种方法
  6. Python常用模块之random模块
  7. python基础教程:多态、多继承、函数重写、迭代器详细教程
  8. python3接收、解析邮件
  9. Python基础教程:嵌套函数、闭包
  10. python **运算符及多参数传参