【问题标题】:Does ext4 filesystem in read-only mode has better performance for mobile devices then ext2?只读模式下的 ext4 文件系统对移动设备的性能是否比 ext2 更好?
【发布时间】:2018-01-05 00:51:15
【问题描述】:

Android uses ext4 用于只读分区的文件系统,但我认为对于闪存只读驱动器ext2 更合适,因为它没有性能开销和无需写操作即可安全使用。

我说的对吗?

【问题讨论】:

    标签: android filesystems android-source ext4 ext2


    【解决方案1】:

    我没有真正的答案,但这里有一些可能性。

    ext4 即使在只读模式下也比ext2 有改进,例如使用范围而不是块映射。这节省了元数据开销。

    系统分区可以在有根设备和系统更新期间以读写方式重新挂载(Nougat+ 设备除外,使用两个系统分区进行无缝更新)。 ext4 通常比 ext2 具有更好的分配行为。

    可以使用-O ^has_journal 创建文件系统,这消除了 ext4 的日志开销。 (参见mkuserimg_mke2fs.sh 的-j 选项。)

    另外,鉴于ext4 已经用于读写用户分区,我怀疑会倾向于避免ext2 只是为了减少正在运行的不同代码的总量(并且需要待测试)。一些端口未设置CONFIG_EXT2_FS 以缩小内核。 (ext2 文件系统仍然可以使用 ext4 驱动程序挂载,尽管我不希望这样做。)

    【讨论】:

      【解决方案2】:

      为什么Android 将ext4 文件系统用于只读分区?

      这里不是真正的专家,可能不会给出具体答案,但您肯定知道,Android 严重依赖 Linux,而选择可能是 Linux - 口授。

      Jonathan Levin 的great work 最近变成了free,我强烈建议您熟悉以下状态*:

      "Android enforces no constraints as to the filesystem types,但 eMMC 和 MMC 设备目前使用 Linux Ext4 文件系统(从 Gingerbread 开始,代替旧的 YAFFS 系统),因为存储层导出块设备。Ext4 已成为默认Linux 2.6.27 中的文件系统,并且是经过良好测试的文件系统,尽管不一定是闪存优化的。”


      * 第二章 -> 分区方案 -> 文件系统

      还有ext4 不使用日志has better 性能然后ext2:

                          ext2      ext4, default  ext4, no journal  
      initial writes    13.0 MB/s     15.4 MB/s      15.7 MB/s  
      rewrites          13.1 MB/s     15.6 MB/s      15.9 MB/s  
      reads             15.2 MB/s     16.9 MB/s      17.2 MB/s  
      re-reads          15.3 MB/s     16.9 MB/s      17.2 MB/s  
      re-reads          15.3 MB/s     16.9 MB/s      17.2 MB/s
      

      【讨论】:

        猜你喜欢
        • 2016-12-06
        • 2012-01-16
        • 2021-09-19
        • 1970-01-01
        • 2015-06-17
        • 1970-01-01
        • 2012-04-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多