0

我使用 JFFS2 分区作为根分区,将它作为 RO 安装在命令行(和 fstab)中。它是 Montavista 5.0 linux (2.6.18)。

一切正常,除了当 linux 到达我的应用程序时,它由 jffs2_gcd_mtd3 忙了大约 15 秒,CPU 时间为 98%。这在我的情况下是不可接受的。

我搜索了 linux 代码,发现 GC 线程仅在安装 RW 时启动,但在我的情况下它仍然启动!

我试图将它安装为 rw 并卸载后记,但是......

提前谢谢。

更新:关于 GC 守护程序的声明是错误的 - 我看到它出错了。与我之前的 YAFFS2 相比,该问题的主要原因是 JFFS2 的工作非常缓慢。只是为了比较 - 我的 14MiB 的 ELF 格式应用程序是在 2-2.5 秒内从 YAFFS2 加载的,而从 JFFS2 加载大约需要 8 秒。!!!这让我觉得有些东西阻止了 Linux ......

现在,问题变成了:是什么让 JFFS2 变得如此缓慢!?!?再次,分区挂载 RO!

4

1 回答 1

0

好的,答案如下:
JFFS2 挂载 120MiB 的分区需要很多时间——在 300MHz 运行的 ARM5 上大约需要 10 秒。这里没有任何帮助 - sumtools,使用 R/W 卸载(编写摘要)。
我通过以下方式解决了这个问题:
- 不包括 Linux 分区中不必要/未使用的空间;
- 将剩余的 70MiB 分成两份 - 一份 55MiB 包含所有 Linux 内容,一份 15MiB 包含我的应用程序及其文件。

这解决了问题。时间约为2-3s

于 2014-02-16T16:20:19.370 回答