- 主题:关于FB2000使用DLM的问题
1. 不能达到节省内存的目的。
2. 可以加快程序启动,有可能节省CPU消耗。
【 在 flyriver.bbs@apue.dhs.org (忧郁的飞流直下) 的大作中提到: 】
: 我赞同使用 .so 文件的方式。像管理菜单里面的好多功能真的是很少用到的,
: 单独分离出来还是一个很不错的主意的。
: 不过是否能够达到省内存的目的还不好说,跟程序怎么写很有关系的,
: 以前看了一些写 .so 文件的资料,有些地方还不甚理解,以后向大家请教了。:)
--
FROM 166.111.3.49
这个倒是有道理,如果是写得不好的游戏使用了静态的数组,那么
dlm能省内存
【 在 period (瞌睡虫soso) 的大作中提到: 】
: 进程之间都是通过mmap共享同一份bbsd, 所以仅靠.so减小bbsd
: 的大小节约不了多少内存. 不过把游戏放到.so里面应该有效,
: 因为游戏里面很多m*n的数组.
--
FROM 166.111.3.49
【 在 flyriver.bbs@apue.dhs.org (忧郁的飞流直下) 的大作中提到: 】
: 是这样的,原来的 FB 系统是把所有的功能都做到一个文件里面,即 bbsd。
: 后来 FB2K 做了一点改动,把系统维护菜单的所有功能单独编译成 admintool.so,
: 于是 bbsd 也小了一些。
: 设原来的 bbsd 为 bbsd1, 新的小一些的 bbsd 为 bbsd2。
: bbsd2 + admintool.so >= bbsd1 ?
: 原来的 100 个进程 100 * bbsd1,
: 新的为 95 * bbsd2 + 5 * (bbsd2 + admintool.so),
: 那么这两个哪个大,哪个小呢?
100 * bbsd1 = bbsd1 无论多少个进程在内存中都只有一个程序副本
95 * bbsd2 + 5* (bbsd2 + admintool.so) = bbsd2 + admintool.so
一般来说,第二个大,但是如果写得不好的.so使用了大量静态内存的除外。
--
修改:KCN FROM 166.111.3.49
FROM 166.111.3.49