免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2092 | 回复: 0
打印 上一主题 下一主题

[应用] JFFS2 fragmentation导致加载过程极慢的问题,高手来看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-08-31 21:26 |只看该作者 |倒序浏览
最近在一个JFFS2的文件系统下开发程序,发现一段时间后系统启动极慢,需要30分钟到1小时,后来发现是fragmentation导致的,做了defragment后系统启动时间恢复为1~2分钟。

这里的高手有没有经验,是什么导致了fragmentation,我一直想重现,但是都没有成功。
唯一发现的几处异常:
1.内存会随写文件的操作而增长,即使进程终止内存也不会释放,而如果删除之前写入的文件,内存可以释放,或者不删除文件重启机器,内存也可以释放,我之前没做过嵌入式开发,对这个现象不大理解。另外我用了两台测试机,其中一台在内存占用到60m以上是开始回收,系统表现基本正常,另外一台在内存占用到60m以上后回收貌似不大正常,会崩溃或把程序挂死。
2.pdflush进程CPU占用会在系统运行一段时间后激增(50%以上持续至少30秒),导致我的应用被挂起,这种情况只偶尔会发生,我在一定压力下测试了将近24小时,只发生过5~6次,都是我在问题1中提到的那台内存回收不正常的机器上发生的。

系统内核是:
我的程序是一个交易系统,对flash操作大概是这样的,每笔交易写文件4次:
简而言之这四次操作是写入80byte,写入200byte,删除200byte,写入1500byte
现在测试阶段交易频率大概是1笔/秒
实际应用时交易频率大概会是5分钟1笔交易吧。

linux 2.6.10
jff2 v2.2
64m nand flash
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP