- 主题:关于FB2000使用DLM的问题
鉴于要整理fb2k的代码,这个问题想弄清楚一些。小弟原来接触
的程序是fb2kv1219(beta4),这个版本的fb2k是没有DLM的版本,当然
也就没有游戏。在其附近使用DLM的版本有v1126和v1.0909(v1.0423)。
据老农的论文分析,使用DLM是为了节省每一个用户所占用的系统
资源,当某些功能仅被少数用户使用的时候较有优势,但代码调用较慢。
另一方面,据说(仅仅是据说,请大家验证)DLM在某些系统上运转
有问题。当然DLM的一个好处是可以把很多扩展功能做出来,甚至可以
把原来一些由crontab完成的工作整合进来,达到统一。
我想听听大家的意见,是否把DLM整合到整理的版本中来,如果这样
某些功能可能需要调整到不同的文件当中了,谢谢!
--
FROM 211.69.197.73
我想flyriver和我是一个意思,比如:
大部分用户使用的bbsd进程只有普通的功能,如阅读文章等等,
但是单独的一些管理功能以及特殊功能放在一个.so当中,仅仅
在部分用户使用过程当中才调用,是不是可以认为:
原来不使用DLM的bbsd集成了所有的功能,其大小大于普通功能的
bbsd + 特殊功能.so的大小,而大部分的用户很少使用特殊功能。
这样可以达到所有在线用户占用的内存总量减小的效果?
麻烦四哥解释一下
【 在 scz (小四) 的大作中提到: 】
: 【 在 flyriver (忧郁的飞流直下) 的大作中提到: 】
: : 用 dlopen() 的也不能省内存么?而不是在启动程序时由 ld 动态加载。
: : 比如 100 个进程,只有 5 个进程用 dlopen() 加载了额外的 .so 文件,
: : 其他的 95 个进程不再加载任何额外的 .so,这样也省不了内存?
: 如果是同一个.so,dlopen()多少次都一样啊
: 怎么可能节省下来呢?
: 加快程序启动倒是真的
--
FROM 211.69.197.73
看了你和KCN的文章,我倒是犯糊涂了,按KCN的说法,所有的代码正文段
都是share的,.so按你说的也是share的,如果说在.so当中基本上都是
自动变量或者malloc等内存分配,那岂不是无论如何DLM都没有优势?
毕竟从一个大站来考虑,所有的用户在同一时间使用上会覆盖所有功能。 :(
【 在 scz (小四) 的大作中提到: 】
: 【 在 quickmouse (碰猫死翘翘) 的大作中提到: 】
: : 我想flyriver和我是一个意思,比如:
: : 大部分用户使用的bbsd进程只有普通的功能,如阅读文章等等,
: : 但是单独的一些管理功能以及特殊功能放在一个.so当中,仅仅
: : 在部分用户使用过程当中才调用,是不是可以认为:
: : 原来不使用DLM的bbsd集成了所有的功能,其大小大于普通功能的
: : bbsd。虽然加上特殊功能.so后会比集成所有功能的bbsd要大,但大
: : 部分的用户很少使用特殊功能。
: : 这样可以达到所有在线用户占用的内存总量减小的效果?
: 这个啊,这个我倒是觉得可以节省下来,我前面说不能节省内存,
: .................(以下省略)
--
FROM 211.69.197.73