e4rat:大幅提升Linux开机速度

计算机 arch linux 优化 文件系统 e4rat ext4


警告:此软件仅限原生ext4文件系统使用。其他文件系统以及从低版本升级的ext4文件系统用户不要使用,否则将导致灾难性后果。  本着负责的态度,先Warning。  

e4rat是个好东西。其原理大致是(我猜的):通过磁盘整理有序化开机要加载的文件,并在系统启动阶段把数据预读到内存,充分使用内存和IO资源。

	AUR上大家的溢美之词:


snack 发表于 Mon, 20 Jun 2011 23:03:28 +0000



Just one word: amazing! Can't believe such an improvement can be obtained so simply. Definitely one of the most notable utilities I've ever tried.



bwat47 发表于 Sat, 11 Jun 2011 00:55:03 +0000



Very impressive stuff! I have a laptop with a 5400rpm drive. This made like halved my boot time (gdm starts way faster, login is faster) all my apps like chrome/banshee/empathy start as fast as if they were cached in memory already :)



drexya 发表于 Sat, 04 Jun 2011 02:52:06 +0000



Wow, impressive results Oo.


	可以看看官方给的效果图,Amazing诶!

使用前



使用后



	 

本文针对Arch系统,介绍一下使用方法。

	1. 系统要求:

	根文件系统是原生ext4,即一开始就格式化成ext4了,不是从ext2、ext3升级的。

	内核支持audit。repo中的内核都支持,手动编译内核的需要注意一下。

	2. 安装:

yaourt -S e4rat

	或者自己从AUR下载脚本编译。

	3. 收集信息:

	grub中Linux启动项最后加上参数:

init=/sbin/e4rat-collect

	启动后e4rat会记录120秒内系统打开的文件。可以在 /etc/e4rat.conf 修改等待时间(timeout)。

	PS:据我观察,收集信息时系统启动会变得格外的慢,可能要一分钟以上。

	4. 整理磁盘:

	收集信息后,会生成 /var/lib/e4rat/startup.log 文件,里面记录的就是启动时打开的所有文件。然后要整理磁盘,该操作需要在单用户模式下执行:

sudo init 1

	然后:

e4rat-realloc  /var/lib/e4rat/startup.log

	5. 大功告成:

	修改grub菜单文件,Linux启动项参数加入:

init=/sbin/e4rat-preload

	重启后e4rat就开始工作了。

	6. 其他:

	a. 不要让e4rat预读太多东西,启动到桌面就足够了。如果预读太多东西(比如浏览器、文本编辑软件),反而会拖慢开机速度。

	b. 以上都是针对Arch默认的init程序。如果你使用其他init机制,比如systemd,需要修改 /etc/e4rat.conf ,设置init参数:

init /bin/systemd

	c. 该软件对SSD固态硬盘没什么作用。

__RAW_HTML__

Page created on 2011-09-10