menu.ini一向是fb系统一个令人头疼的问题,不少人认为其占用内存过多,
并且容易造成系统崩溃。因为最近在整理FB2k代码,不得不潜心下来看
关于menu.ini的相关代码。发现其大约占用15~20k左右的内存(视各个
menu.ini不同而不同),并且是每一个进程都要占用。
在NJU bbsdev版面原来对menu.ini进行过讨论,如何修改对menu.ini的
处理,其中不少意见是主张直接将menu的内容写入代码当中,这样可以
完全省下这15~20K的内存,不过就是牺牲了权限调整的便捷。
昨天看过menu.ini在内存中的组织形式,我认为,大部分的内容可以
写入共享内存,而每一个进程只需要重组函数指针即可。简单的共享
可以节省一半点空间(最大10K),如果调整数据结构和组织形式,可以
将数据占用压缩到原来的20%左右。这样可以大幅度缩减每个用户登陆
时候的重组代码。而reload sysconf可以采用DLM的模式,估计可以节省
不少code空间和ram空间。
不知道大家对menu.ini还有什么看法。
--
FROM 211.69.197.73