【 在 kxn (时光似箭,果蝇喜欢香蕉) 的大作中提到: 】
: 标 题: Re: 问几个 kbs 代码的问题
: 发信站: 水木社区 (Tue Apr 8 10:21:33 2008), 转信
:
: 这个分情况讨论,如果 mmap 不带 tmpfs 使用,你会发现进程退出的时候系统会强制刷写所有的 dirty page, 造成很大的开销。带 tmpfs 的话将就可以忍,但使用起来也很麻烦,启动时候要从硬盘上拷贝到 tmpfs, 中间为了防止断电或者死机要定期拷贝回去,sysv shm 需要的工作量跟这个差不多,而且明显要少很多开销,因此一起看就很划算了,另外这里进程退出不自动摧毁 shm 的效果反而是我们所需要的。如果他退出了就销毁了对我们来说操作还挺麻烦。
又想了想,进程退出了 tmpfs 也在啊。。。 sysv shm 跟 tmpfs + mmap 对比:
* 第一次使用时从硬盘拷贝内容到 shm 或者 tmpfs,一个要调 shm api,一个要调
mmap/munmap
* 都需要一个服务进程定时刷新数据到硬盘上
* 进程退出后 tmpfs 和 shm 都在,重启进程可以继续使用,一个调 shm api,一个
调 mmap
没比较过 shm api 和 mmap 开销哪个大,估计差不到哪去,shm 作为一个比较老的
接口,猜测维护力度没有 mmap 强,而且 shm 有个数和大小限制,反倒觉得比较吃亏。
另外 tmpfs 里文件维护起来比 shm 容易多了。
:
: : 所以有clearipc.sh这个脚本。大概是历史问题?
: : : BTW,问这些不是说 kbs 的实现不好怎么的,我其实是 unix 编程初手,kbs
: : : 的做法跟我凭空想的很不一样,不知道里头藏了什么玄机。
: :
: :
: : --
: : ╱╲ █ 冷咖啡离开了杯垫 ◣
: : ╰╯ █ 我忍住的情绪在很后面
: : ξ █ 拼命想挽回的从前
: : █D █ 在我脸上依旧清晰可见
: : ┳━━━━━┳ ●█ ——周杰伦《不能说的秘密》
: : ┃ ┃ ︵■█
: :
: :
※ 修改:·Dieken 于 Apr 8 10:46:20 2008 修改本文·[FROM: 211.157.41.*]
: : ※ 来源:·水木社区 newsmth.net·[FROM: 124.207.144.*]
:
:
: --
: 标 题: CCTV1大战CCTV4
: 发信站: 水木社区 (Thu Nov 22 18:27:46 2007), 站内
:
: CCTV4,海峡两岸,台湾物价增长4.5%,民众大叫“活不了了”。
: CCTV1,晚间新闻,大陆10月物价上涨6.6%,群众一致表示“对生活影响不大”
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 220.181.38.*]
--
修改:Dieken FROM 211.157.41.*
FROM 211.157.41.*