|
发表于 2007-3-28 19:01:08
|
显示全部楼层
引用:
作者: x11perf/shpchp
如果有较多的内存可用,则获取极速的机会又到了
例如物理内存为 512M,实际上只用了30% 到 40%左右。可以把 /tmp 目录挂载到内存中,访问内存中的文件与访问硬盘中的文件相比,是天上和地下的差别。
将 /tmp 目录挂载到内存中的方法是:
编辑 /etc/fstab 文件:
# nano -w /etc/fstab
在该文件中加入以下配置:
none /tmp tmpfs defaults 0 0
实际上 /tmp 目录的内容并不会太多,一般不超过 10M,不会占用太多内存。
当把 /tmp 加载到内存后,对性能的提升是非常明显的。
其实可以将 /var/tmp 也 mount 进内存中,我就是这样做的:
none /var/tmp tmpfs defaults 0 0
如果将 /lib /usr/lib 放到内存中去,Firefox 的起动时间将会只有 0.01 秒
哈哈,如果有较多的内存,其实可以把 /bin /usr/bin /sbin /usr/sbin 和其他目录也都放到内存中,看来需要买一台 2G 内存的机器
这才是真正的极速!!!
这些目录不比 tmp 目录,需要先把目录内的文件打包到硬盘内,mount 到内存后然后再解包到相应的目录,否则就没有文件了。
如何实现先把/lib /usr/lib 等等目录内的文件打包到硬盘后,mount 到内存,再解包到相应的目录?
关键是不明白在启动中如何自动实现?
挂载lib的方法
实验:- #!/bin/bash
- . /etc/rc.conf
- . /etc/rc.d/functions
- case $1 in
- start)
- stat_busy "Starting mount lib"
- copy …… /lib -r
- copy …… /usr/lib -r
- add_daemon lib
- stat_done
- ;;
- stop)
- stat_busy "Stopping mount lib"
- copy /lib …… -r
- copy /usr/lib …… -r
- rm_daemon lib
- stat_done
- ;;
- restart)
- $0 stop
- sleep 1
- $0 start
- ;;
- *)
- echo "usage: $0 {start|stop|restart}"
- esac
- exit 0
复制代码 把以上保存为lib文件,并且加入可执行,然后放到/etc/rc.d/下,最后在启动服务里把lib服务摆到最前面~
前提是同样的方式在fstab里面把/lib /usr/lib挂载到内存上,并且做好lib的备份位置为“……”
不知道这样是否可行?如果可行也有弊端,开机关机速度会有影响,毕竟这两个文件夹加起来一般都有400MB以上啊~
以上属于纯个人想法,如有错误别见笑哈 |
|