仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 637|回复: 10
打印 上一主题 下一主题

[其他Linux] 来看看:fcache:减速linux的启动

[复制链接]
金色的骷髅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 12:08:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不同版本的Linux命令数量不一样,这里笔者把它们中比较重要的和使用频率最多的命令。
一.简介:
  fcache的作者是JensAxboe,他是把这个patch当做一个weekendproject写的。
  这个补钉的目标是在不修正文件体系的条件下,而使启动的流程是完整线性的(应当是指读磁盘的流程),从而减速linux的启动,复杂的说fcache就是文件体系和块设备之间一种重映照。
  fcache有两种运转形式:prime形式和normal形式。当运转在prime形式时,他缓存统统对方针分区的读操纵,写进缓存分区。从而使数据在缓存设备中线性寄存,便是一个关于工夫的函数。当运转在normal形式时,fcache将会在缓存设备中查找缓存,假如射中的话,那末启动便可以间接读进缓存设备的线性数据。因为启动流程年夜多时分是反复性的,因而,fcache会供应完善的猎取启动数据路子。
  一样平常来讲,第一次启动利用prime形式,筹办好缓存数据,今后启动时利用normal形式,能够年夜年夜减速启动的速率(只需你的启动流程稳定的话)
  这里有一份hzmagnel写的关于fcache道理的文档,有乐趣的同砚能够任意翻翻,我们会冲动的内牛满面!
  二.怎样利用fcache
  Step1:给内核打上fcache补钉,保举的内核版本是2.6.17
  cd/usr/src/linux
  下载补钉wgethttp://www.ckuyun.com/pub/linux/kernel/people/ck/patches/2.6/2.6.17/2.6.17-ck1/patches/fs-fcache-v2.1.patch
  进进内核源代码目次patch-p1Blockdevices->Bootfrontedcachedriver
  然后从头编译内核,并利用这个内核。
  Step2:创立fcache的分区
  分区巨细为512M摆布,文件体系为ext3,假如仅仅为实验,能够临时利用swap分区作为fcache的分区
  Step3:修正启动和封闭剧本
  在linux启动的时分,根文件体系第一次被加载的时分是readonly的,比及反省完根文件体系,这时候候再用rw的体例remount根文件体系。我们要办事情就是在remount的时分,加上fcache的参数。而remount的地点是因分歧刊行版而异的,好比在gentoo中,remount在/etc/init.d/checkroot里,而在suse中,remount在/etc/init.d/rootfsck中。我们能够经由过程grep
  "remount"找到谁人剧本。
  找到谁人剧本后,找出mount-n-oremount,rw/2>/dev/null
  修正为mount-n-oremount,fcache_dev=#/*,fcache_prime=0/2>/dev/null
  以下针对ubuntu7.04,写出一种详细做法(注重:其他版本必要做响应调剂)
  编纂/etc/init.d/checkroot.sh剧本,找到
  if!mount-n-oremount,$rootopts,$rootmode$fstabroot/2>/dev/null
  then
  mount-n-oremount,$rootopts,$rootmode/
  fi
  修正为
  if!mount-n-o
  remount,$rootopts,$rootmode,fcache_dev=#/*,fcache_prime=1$fsabroot/
  2>/dev/null
  then
  mount-n-oremount,$rootopts,$rootmode,fcache_dev=#/*,fcache_prime=1/
  fi
  注重这里fcache_dev=#/*,个中fcache_dev是指我们在第二步创立的谁人分区对应的设备。
  #代表主设备号,*代表次设备号。好比笔者的利用的IDE硬盘,是hda10,因而fcache_dev=3/10
  编纂/etc/init.d/umountroot剧本,找到
  mount$MOUNT_FORCE_OPT-n-oremount,ro-tdummytypedummydev/
  2>/dev/null
  ||mount$MOUNT_FORCE_OPT-n-oremount,rodummydev/
  2>/dev/null
  ||mount$MOUNT_FORCE_OPT-n-oremount,ro
  修正为
  mount$MOUNT_FORCE_OPT-n-oremount,ro,fcache_dev=#/*-t
  dummytypedummydev/2>/dev/null
  ||mount$MOUNT_FORCE_OPT-n-oremount,ro,fcache_dev=#/*
  dummydev/2>/dev/null
  ||mount$MOUNT_FORCE_OPT-n-oremount,ro,fcache_dev=#/*
  /
  ok,如今能够从头启动了,这时候候,fcache就会进进prime形式。此次启动会比平常启动略微慢一点。启动终了,进进桌面后,实行mount
  /-oremount,fcache_dev=#/*,fcache_prime=0
  我们能够查验一下,fcahce是不是事情了
  ken@ubuntu:~$dmesg|grep"fcache"
  [17179592.200000]fcache:newheader:firstblock2872,max294040
  [17179592.200000]fcache:hda10openedsuccessfully(priming)
  [17180105.
12下一页


写学习日记,这是学习历程的见证,同时我坚持认为是增强学习信念的法宝。以上是我学习Linux的心得体会,希望对大家的学习有所帮助,由于水平有限,本文难免有所欠缺,望请指正。
金色的骷髅 该用户已被删除
沙发
 楼主| 发表于 2015-1-16 13:29:37 | 只看该作者

来看看:fcache:减速linux的启动

由于在linux中,用户权限很大,做任何事情都很自由,所以,你往往需要知道你做的每一步在干什么。
728000]fcache:iosr/w6286/4904,hits0,misses0,overwrites766</P>  [17180105.744000]fcache:wrote6286extents,holding354656sectorsofdata
  [17180105.756000]fcache:wroteheader(extents=6286,serial=27)
  [17180105.808000]fcache:headerlooksvalid(extents=6286extents,serial=27)
  [17180105.824000]fcache:loaded6286extents
  [17180105.824000]fcache:hda10openedsuccessfully(notpriming)
  能够看到,fcahce切实其实处于prime形式,而且缓存启动时的数据。
  最初再次修正/etc/init.d/checkroot.sh,把第一次我们修正的中央,再修正为
  if!mount-n-o
  remount,$rootopts,$rootmode,fcache_dev=#/*,fcache_prime=0$fsabroot/
  2>/dev/null
  then
  mount-n-o
  remount,$rootopts,$rootmode,fcache_dev=#/*,fcache_prime=0/
  fi
  即让fcahce处于normal形态,再次启动,你就可以享用fcache给你带来的启动如飞的感到了。
  今后假如你的启动流程变了,好比你增添或削减某些启动剧本,则必要从头激活prime形式一次,即反复一遍上述流程。
  团体以为从呈现gdm的登录窗口,到登录,完整进进桌面情况,加载完启动项。这一段工夫,fcache带来的速率提拔是相称分明的。
  以下是测试呈报
  time1time2total
  --------------------------------------------------------------------------------------
  fcacheandprime=150s52s102s
  fcacheandprime=046s29s75s
  withoutfcache48s38s86s
  注:time1暗示从加载内核到呈现登录窗口
  time2暗示从入手下手登录到完整启动终了
</p>
上一页12


在这里你会学到更多的知识,学习linux,更要学习一种geek的精神,python之禅中也说过:以总结分享为荣,以跪求其解为耻;
活着的死人 该用户已被删除
板凳
发表于 2015-1-18 16:51:07 来自手机 | 只看该作者
这也正是有别的OS得以存在的原因,每个系统都有其自身的优点。?
只想知道 该用户已被删除
地板
发表于 2015-1-27 12:47:52 | 只看该作者
笔者五分钟后就给出了解决方法: “首先备份原文件到其他目录,然后删掉/usr/local/unispim/unispimsp.ksc,编辑 /usr/local/unispim/unispimsp.ini,最后重启动计算机
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-5 13:47:14 | 只看该作者
发问的时候一定要注意到某些礼节。因为Linux社区是一个松散的组织、也不承担回复每个帖子的义务。它不是技术支持。
乐观 该用户已被删除
6#
发表于 2015-2-12 02:56:59 | 只看该作者
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
蒙在股里 该用户已被删除
7#
发表于 2015-3-2 22:17:14 | 只看该作者
通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
若相依 该用户已被删除
8#
发表于 2015-3-11 08:33:30 | 只看该作者
我是学习嵌入式方向的,这学期就选修了这门专业任选课。
小女巫 该用户已被删除
9#
发表于 2015-3-18 07:29:47 | 只看该作者
我感觉linux的学习,学习编程~!~!就去学习C语言编程!!
不帅 该用户已被删除
10#
发表于 2015-3-25 18:51:52 | 只看该作者
熟悉并掌握安装Linux,安装是学习的前提。目前较常见的安装方法有二种:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 16:21

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表