cornsea

估计yaffs2内存使用情况

yaffs2主要使用内存的地方是yaffs_object和yaffs_tnode,下面的方法大体上可以估计出使用的
内存数量,但由于yaffs2的内存是根据系统运行情况,动态变化的,实际情况会有些出路。

 

计算方法如下:
1. yaffs_Objectszh占用 内存情况
   每个文件,目录,符号连接都是一个object,每个object大概用了120个字节。
  所以假设有1000个文件,那么object占用ram的大小是1000 * 120 => 120Kbytes

2. yaffs_Tnode 占用内存情况
  首先计算 需要用多少bit数来表示整个nand:
  bitnum =  log2(nand 有的page数目)
  然后在此基础上加1,yaffs内部表示时候需要多一个bit。
  如果如上的bitnum不是偶数,加1。
  最后内存使用情况是bitnum * pagenum / 8 字节

 例如:nand有65536个页面
          bitnum = log2(65536)  + 1 = 16 + 1 = 17
         向上去偶数,得到bitnum = 18
          最后,表示整个nand的tnode用的内存是:
         18 * 65536 / 8 = 147456 字节

posted on 2010-08-15 21:11  cornsea  阅读(329)  评论(0编辑  收藏  举报

导航