在最近的项目中发现,把rootfs做成一个loopback file后,mount进系统后,系统的启动速度明显见慢。对于此,一直无法理解。我们使用iozone,测试了loopback的读速度,与不使用loop差别不大,因此一直认为loop对系统性能影响不大。
可事实摆在面前,不得不查明究竟。
最后在开机过程中,几个重要的进程查看了/proc/meminfo,发现其cache和buffer使用了loop要比没有使用loop的大很多,以前一直认为cache多是好事,cache越多说明预读的越多,将来启动就越快,所以没在意。
但是这么多的cache也是需要加载到内存中,也是花费时间的,就会使进程的启动速度变慢。
至于loopback file为什么会导致cache异常增多的问题,终于找到一些资料。
Disable look-ahead for loop file.
Loopback files normally contain filesystems, in which case there are already
proper look-aheads in the upper layer, more look-aheads on the loopback file
only ruins the read-ahead hit rate.
阅读(1753) | 评论(0) | 转发(0) |