07 2011存档

最近看ext4代码,注意到了 punch hole (打洞)功能,就是可以把文件中间的一部分内容释放掉,但是剩余部分的文件偏移不变。

于是我问马涛同学这个punch hole一般用在什么场合。

马涛:可以用在虚拟机上,比如你从虚拟机里删掉了一个大文件,虚拟机可以用punch hole在虚拟硬盘把这个文件占用的空间释放掉

我:有哪款虚拟机这样做?

马涛:这是文件系统提供给虚拟机的一个feature,虚拟机有了这个feature的支持就可以节省硬盘空间。比如host上装了多台虚拟机,每个虚拟机都通过punch hole的方式来删除自己虚拟的大文件,这样一段时间后,虽然各虚拟硬盘加起来空间很大,但是实际占用的空间就很小。应该有虚拟机是这样做的,这个我没注意。

我:除了虚拟化呢?还有别的应用场景吗?

马涛:嗯....云计算应该也又用的吧

我:虚拟化,云计算,这都是新概念,早期做这个punch hole是干啥用的,就是早期的应用有吗?

马涛:....早期就是因为有了truncate来去掉文件的尾巴,那么出于逻辑完整,就需要一个调用来去掉文件的头或者中间,于是就有了这个punch hole

我:喔

事后我想了想,如果一个大文件,用户决定了文件中间的一段内容以后不需要再用到了可以删除了,在没有punch hole支持的情况下,似乎只能先mmap,然后memove把中间的内容覆盖掉,然后truncate缩短文件内容。而如果有了punch hole的支持,只需一个系统调用没有内存移动的开销,非常高效,虽然文件用 ls 看起来还是那么大,但实际占用空间(用 du -sh 看)已经缩短了。

也许数据库,搜索引擎里的大文件可以用上,我猜。

低碳

| | Comments (1) | TrackBacks (0)
今年初一家人去吃了好几次“欢乐牧人”烤羊肉,物美价廉,爸一直念念不忘,叫我们再注意有没有类似的团购。

前几周,一家人都在看纪录片《家园》,里面正在沉痛的叙述人类工业活动对地球环境的破坏,号召大家少用化石能源,倡导低碳生活,低碳,低碳......

爸看得很认真,看完以后第一句就问:

“那以后还能吃碳烤羊肉不?”
马涛:你又在看kindle的网站,你怎么老看不买啊
我:我还老看你呢,我不也没买嘛
马涛:我贵,你不一定买得起
我:没问题,我最高出价,114美元
(马涛没吱声儿,上厕所去了,一会儿回来)
马涛:为什么是114美元?
我:这就是kindle的价格



早上马涛又提着他的巴掌大的小塑料口袋来上班,里面装着钱包和钥匙。
我:哟,又提你的LV包来了
马涛:我这是LV包?
我:是的,Linux kernel developer's Vessel,简称LV

关于存档

This page is an archive of entries from 07 2011 listed from newest to oldest.

06 2011 is the previous archive.

08 2011 is the next archive.

Find recent content on the main index or look in the 存档 to find all content.