只读模式下的 ext4 文件系统对移动设备的性能是否优于 ext2?
Does ext4 filesystem in read-only mode has better performance for mobile devices then ext2?
Android uses ext4
只读分区的文件系统,但我认为闪存只读驱动器 ext2
更合适,因为它没有性能开销并且可以在没有写操作的情况下安全使用。
我说得对吗?
Why does Android use ext4
file system for read-only partitions?
这里不是真正的专家,可能不会给出具体答案,但是,您肯定知道,Android 严重依赖 Linux 并且选择可能是 Linux 决定的。
great work by Jonathan Levin which has lately become free 我强烈建议您熟悉以下内容*:
"Android enforces no constraints as to the filesystem types,但是 eMMC 和 MMC 设备目前使用 Linux Ext4 文件系统(从 Gingerbread 开始,代替旧的 YAFFS 系统),因为存储层导出块设备。自 2.6.27 起,Ext4 已成为 Linux 中的默认文件系统,并且是经过良好测试的文件系统,尽管不一定是闪存优化的文件系统。"
* 第二章->分区方案->文件系统
也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
我没有真正的答案,但这里有一些可能性。
ext4
即使在只读模式下也比 ext2
有改进,例如使用范围而不是块映射。这节省了元数据开销。
系统分区可以在 root 设备和系统更新期间以读写方式重新挂载(使用两个系统分区进行无缝更新的 Nougat+ 设备除外)。 ext4
通常比 ext2
具有更好的分配行为。
可以使用 -O ^has_journal
创建文件系统,这消除了 ext4 的日志开销。 (请参阅 mkuserimg_mke2fs.sh
的 -j
选项。)
此外,考虑到 ext4
已经用于读写用户分区,我怀疑会有一种避免 ext2
的趋势,只是为了减少不同代码的总量正在 运行(需要测试)。一些端口取消设置 CONFIG_EXT2_FS
以缩小内核。 (ext2
文件系统仍然可以使用 ext4
驱动程序挂载,尽管我不希望这样做。)
Android uses ext4
只读分区的文件系统,但我认为闪存只读驱动器 ext2
更合适,因为它没有性能开销并且可以在没有写操作的情况下安全使用。
我说得对吗?
Why does Android use
ext4
file system for read-only partitions?
这里不是真正的专家,可能不会给出具体答案,但是,您肯定知道,Android 严重依赖 Linux 并且选择可能是 Linux 决定的。
great work by Jonathan Levin which has lately become free 我强烈建议您熟悉以下内容*:
"Android enforces no constraints as to the filesystem types,但是 eMMC 和 MMC 设备目前使用 Linux Ext4 文件系统(从 Gingerbread 开始,代替旧的 YAFFS 系统),因为存储层导出块设备。自 2.6.27 起,Ext4 已成为 Linux 中的默认文件系统,并且是经过良好测试的文件系统,尽管不一定是闪存优化的文件系统。"
* 第二章->分区方案->文件系统
也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
我没有真正的答案,但这里有一些可能性。
ext4
即使在只读模式下也比 ext2
有改进,例如使用范围而不是块映射。这节省了元数据开销。
系统分区可以在 root 设备和系统更新期间以读写方式重新挂载(使用两个系统分区进行无缝更新的 Nougat+ 设备除外)。 ext4
通常比 ext2
具有更好的分配行为。
可以使用 -O ^has_journal
创建文件系统,这消除了 ext4 的日志开销。 (请参阅 mkuserimg_mke2fs.sh
的 -j
选项。)
此外,考虑到 ext4
已经用于读写用户分区,我怀疑会有一种避免 ext2
的趋势,只是为了减少不同代码的总量正在 运行(需要测试)。一些端口取消设置 CONFIG_EXT2_FS
以缩小内核。 (ext2
文件系统仍然可以使用 ext4
驱动程序挂载,尽管我不希望这样做。)