LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 879|回复: 14

关于tmpfs的疑问。

[复制链接]
发表于 2009-6-4 13:55:14 | 显示全部楼层 |阅读模式
Hi,各位同学
网上总有各种关于用tmpfs来speed up firefox的技巧和文章,我就此事有点疑问,下面是我的实验:
准备工作:
首先我用一个脚本speedfox.sh来代替firefox的启动,这个脚本的功能是,将 ~/.mozilla-hdd复制到/tmp/mozilla-hdd,删除~/.mozilla , 创建从/tmp/mozilla-hdd 到 ~/.mozilla的连接。
好了,现在试验开始

1. 重启。没有启动tmpfs,启动firefox前,输出free -m
[php]
             total       used       free     shared    buffers     cached
Mem:          1506        256       1250          0         22        106
-/+ buffers/cache:        127       1379
Swap:          972          0        972
[/php]
2. 用speedfox.sh启动firefox,输出free -m
[php]
             total       used       free     shared    buffers     cached
Mem:          1506        764        742          0         19        590
-/+ buffers/cache:        154       1352
Swap:          972          0        972
[/php]

修改fstab自动挂载/tmp为tmpfs

3. 重启。启用tmpfs,启动firefox前,输出free -m
[php]
             total       used       free     shared    buffers     cached
Mem:          1506        256       1250          0         22        106
-/+ buffers/cache:        127       1379
Swap:          972          0        972
[/php]
4. 用speedfox.sh启动firefox,输出free -m
[php]
             total       used       free     shared    buffers     cached
Mem:          1506        711        795          0         12        557
-/+ buffers/cache:        141       1365
Swap:          972          0        972
[/php]

可以看出数据相差不大。
按照Wikipedia的说法(via http://en.wikipedia.org/wiki/Virtual_memory ):
Everything stored in tmpfs is temporary in the sense that no files will be created on the hard drive


那么Linux上tmpfs的实现是这样的(via). 理论上(因为我没看过源码)说是除非有swap,否则tmpfs的内容永远不会换出内存。

那么我的疑问是
speedfox之所以加快了以后 firefox 的速度只是由于Linux读写了所有.mozilla下的文件,所以他们都被cache 了,与tmpfs 貌似是关系不大。

但是从上面的测试是不是说明,将tmpfs作为.mozilla的存放点不见得是一个性价比特别高的操作?因为Linux的Cache在这里已经那么好用了,而用户还得承担同步/tmp/下的mozilla-hdd和~/.mozilla-hdd,来保持一致性
 楼主| 发表于 2009-6-4 13:58:36 | 显示全部楼层
或者说设置tmpfs对firefox的速度不会有明显的改善
回复 支持 反对

使用道具 举报

发表于 2009-6-4 13:59:50 | 显示全部楼层
建议把启动脚本写成一开始 cp -r ~/.mozilla /dev/null 再启动firefox,试试实际的效果...
回复 支持 反对

使用道具 举报

发表于 2009-6-4 14:08:29 | 显示全部楼层
官发论坛上有详细介绍
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 14:00:37 | 显示全部楼层
Post by waterloo2005;1994024
官发论坛上有详细介绍


介绍tmpfs?
回复 支持 反对

使用道具 举报

发表于 2009-6-5 14:38:20 | 显示全部楼层
对,在官发论坛的tips那个子类里
回复 支持 反对

使用道具 举报

发表于 2009-6-5 14:52:14 | 显示全部楼层
你的测试是要测什么啊
而且使用tmpfs后,正在用的内存反而要小
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 16:06:03 | 显示全部楼层
Post by yashen;1994464
你的测试是要测什么啊
而且使用tmpfs后,正在用的内存反而要小

因为很多人说将Firefox的.mozilla放到tmpfs后性能有提升,我想知道这是不是有道理。
因为不使用tmpfs而仅仅将.mozilla copy一遍,整个.mozilla也会全部进入Cache.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-5 16:10:29 | 显示全部楼层
Post by waterloo2005;1994453
对,在官发论坛的tips那个子类里

嗯。我看到了,在这里:
http://forums.gentoo.org/viewtop ... -firefox+tmpfs.html

我看的那个文章也出自这里
回复 支持 反对

使用道具 举报

发表于 2009-6-5 16:10:52 | 显示全部楼层
性能提升很多,cache都在内存里,否则在硬盘上,速度当然快多了,
用笔计本的话,cache默认设置下浏览网页时能听到读写硬盘的声音,放到内存里安静多了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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