F2fs или ext4 android

F2fs или ext4 android

Содержание статьи

В среде моддеров и энтузиастов Android, как и в любой секте, есть несколько святынь, которые принято почитать несмотря ни на что. Это оптимизированные кастомные ядра, скрипты и приложения для оптимизации системы, «улучшатели» звука и многое другое. В последнее время к ним добавилась файловая система F2FS, которая, согласно многим свидетельствам, существенно поднимает производительность работы с NADN-памятью и сохраняет ее от износа. Но так ли это на самом деле?

Начало

Впервые F2FS (Flash Friendly File System) предстала людскому взору в октябре 2012 года, когда компания Samsung опубликовала патчи с ее реализацией для ядра Linux. По словам разработчиков, ФС была с нуля спроектирована специально для flash-памяти и позволяла повысить производительность чтения/записи таких накопителей и использовать их особенности для некоторых оптимизаций и защиты от износа.

Уже к концу года F2FS стала официальной частью Linux 3.8, а еще через некоторое время ее поддержка появилась в CyanogenMod 10.2 и кастомном рекавери TWRP. С тех пор моддеры и оптимизаторы включают ее во все свои каcтомные ядра, пишут массу хвалебных отзывов, публикуют скриншоты с доказательством феноменальной производительности файловой системы.

Со стороны все это выглядит более чем обнадеживающе, поэтому новички в Android дружно вступают в ряды тех, кто прикоснулся к прекрасному и заимел это прекрасное в своем смартфоне. Вот только мало кто задумывается о том, почему родившая на свет чудо Samsung сама не использует F2FS даже в своих последних флагманах.

А причина проста: F2FS практически ничем не лучше файловой системы ext4, используемой в Android по умолчанию. Чтобы не быть голословным, разберу два основных мифа, касающихся F2FS: производительность и бережное отношение к flash-накопителям.

Производительность

В Сети можно найти множество примеров сравнения производительности ext4 и F2FS. Они очень похожи и очень часто показывают огромный выигрыш последней в скорости записи данных. Вот, например, результаты сравнения AndroBench для смартфона Sony Experia Z1:

F2FS vs ext4

Xakep #248. Checkm8

F2FS vs ext4

Выглядит странно, не так ли? Скорость случайной записи возросла в 150 раз в сравнении с ext4 и в шесть раз в сравнении со скоростью чтения. Впервые такую аномалию заметили журналисты Phoronix, когда проводили тестирование F2FS в начале 2013 года:

Аномально высокая производительность F2FS

Тогда они резонно предположили, что на самом деле F2FS пишет данные на диск не сразу, а вместо этого кеширует их для последующей записи. Если взглянуть на архитектуру F2FS, становится очевидно, что это действительно так. F2FS работает с блоками данных размером 4 Кбайт, объединяя их в сегменты размером 2 Мбайт, а те, в свою очередь, объединяются в секции, которых может быть до шести штук.

Читайте также:  Amail ru почтовый ящик

Зачем нужна такая система, мы поговорим позже, а пока остановимся только на том, что перед записью в память секции должны быть заполнены блоками. Другими словами, F2FS собирает записываемые 4-килобайтные блоки данных в куски большего размера, а затем скидывает их на диск одновременно. Это и есть причина аномально высокой производительности F2FS в скорости записи случайного 4-килобайтного блока и вполне сравнимой с ext4 производительности последовательной записи множества блоков.

Последние тесты Phoronix также подтверждают практически равную производительность обеих файловых систем. F2FS заметно вырвалась вперед только в тесте на одновременную работу с тысячами файлов, что обусловлено ее внутренними оптимизациями. Однако ни один смартфон не работает одновременно с таким количеством файлов. Такая ситуация редкость даже на десктопе и специфична для серверов.

Тест скорости случайной записи в разных версиях ядер (4.4–4.7)

Бережное отношение к накопителю

Второе заблуждение относительно F2FS связано с более бережным отношением к flash-памяти. Все мы знаем, что flash-память — штука хрупкая и выдерживает всего несколько тысяч циклов записи/стирания данных. По этой причине размещать данные на flash-накопителе рекомендуется в формате лога, когда новые блоки не перезаписывают старые, а вместо этого пишутся в незанятую область, после чего старый блок помечается как неиспользуемый и впоследствии очищается, освобождая пространство.

Именно так работает F2FS, и именно поэтому многие люди считают ее лучшим выбором для flash-памяти в сравнении с ext4, работающей по классической схеме, которая предполагает изменение данных на месте. Но есть один нюанс. Дело в том, что абсолютно любая современная флеш-память, начиная от USB-флешек и заканчивая серверными SSD, содержит в себе контроллер FTL (Flash Translation Layer), отвечающий за то, чтобы представить совсем непохожую на магнитные диски флеш-память как обычный диск, на который можно записать определенное количество блоков данных.

Помимо таких вещей, как объединение нескольких чипов flash-памяти в один «диск» и выполнение операции TRIM, которая очищает уже не используемые блоки, FTL также ответственен за выбор физического размещения записываемого блока в памяти. И здесь он использует (сюрприз!) log-структурированную мини-ФС. Другими словами, любая современная флеш-память сама занимается увеличением своего срока службы независимо от того, какую файловую систему ты на ней создашь: F2FS, ext4, FAT32 или любую другую, — результат будет один.

На самом деле причина, по которой F2FS называется «дружественной к флеш-памяти» (Flash Friendly), вовсе не в бережном отношении к памяти, а в том, что она умеет учитывать некоторые ее особенности, чтобы сделать работу с памятью более эффективной. Один из примеров увеличения эффективности — это тот самый механизм объединения данных в секции.

Читайте также:  1С получить предопределенный элемент справочника

Дело в том, что многие микросхемы флеш-памяти включают в себя не один, а несколько независимых накопителей. И запись в каждый из них может происходить одновременно. Объединяя данные в секции, F2FS может отправить их на запись одновременно, что в теории приведет к увеличению производительности записи в число раз, кратное количеству накопителей.

Но и здесь не все так просто. Все оптимизации F2FS требуют индивидуальной настройки файловой системы для каждой модели flash-памяти. Файловая система будет настолько эффективной, насколько точно ее настроили. И делать это должен не пользователь кастомной прошивки, а сам производитель памяти, потому как только он может знать все нюансы ее устройства.

Итого

F2FS — отличная файловая система. Об этом говорит хотя бы тот факт, что, только появившись на свет, она уже способна успешно конкурировать с вылизываемой годами и сотнями людей ext4. Однако не стоит ждать от нее чудес и бежать форматировать свое устройство. Да, многие люди заявляют о заметном даже без тестов увеличении производительности, но опять же, скорее всего, эти эффекты вызваны тем самым механизмом отложенной записи и на самом деле никакого существенного прироста скорости нет.

вкл. 11 Июнь 2016 . Опубликовано в Android — Общее

Переход на файловую систему F2FS — ускоряем Андроид. Возможно вы уже видели множество инструкций которые РЕАЛЬНО могут ускорить ваш Android, но есть кое-что, что действительно может заставить смартфон или планшет быстрей.

Большинство материалов в сети по ускорению Android, являются не более чем пылью в глаза и реальной пользы не приносят, оставшиеся инструкции довольно сложные для усвоения и иногда приносят того эффекта как ожидалось.

В 2012 году компания Samsung разработала принципиально новую файловую систему под названием F2FS . Ее главное преимущества над другими заключается в том, что она разработана изначально для флеш-памяти.

По итогу тестов файловая система F2FS превосходит по производительности используемую в в Android EXT4, ознакомиться с результатами можно на сайте Opennet или XDA .

Необходимые инструменты

Для Вариант 1

  1. Компьютер на ОС Windows
  2. Включить «Отладка по USB«
  3. Установить драйвер Android на ПК
  4. Скачать и установить ADB RUN

Для Вариант 2

  1. Компьютер на ОС Windows
  2. Скачать TWRP Recovery и установить его

Инструкция по переходу на файловую систему F2FS

Вариант 1

После выполнения процедуры, все данные будут удалены!

  1. Перезагрузить Android в режим Recovery
  2. Запустите ADB RUN и перейдите в меню Manual Command -> ADB
  3. Вам необходимо будет узнать /dev/block/platform/xxx/by-name, как это сделать подробно написано в данной статье
  4. Далее после того как узнали XXX, вводим следующую команду:

Вместо xxx ваше значение.

  • Перезагружаем Android, все готово!
  • Вариант 2

    После выполнения процедуры, все данные будут удалены!

    1 Перезагрузить Android в режим Recovery

    Читайте также:  Djvu как открыть в word

    2 Перейти в меню WIPE

    3 Перейти в меню Advanced Wipe

    4 Выбрать разделы Cache и Data

    5 Выбрать Repair or Change File System

    Производительность работы файловой системы — очень важная вещь, в этой статье мы выясним какая файловая система работает быстрее на данный момент, а также как зависит производительность от версии ядра Linux. Мы будем сравнивать производительность Ext4 vs F2FS vs Btrfs на SSD и будем использовать ядра 4.4, 4.5, 4.6 и 4.7.

    Все три файловые системы были протестированы на каждой из последних стабильных версий ядра. Все тесты проводились на Samsung 950 PRO M.2 NVM Express SSD.

    В качестве операционной системы для тестирования использовалась ночная сборка Ubuntu 16.10, а также, ядра взятые из Ubuntu Mainline Kernel PPA. Тесты проводились полностью автоматизированным и воспроизводимым способом с помощью программного обеспечения Phoronix Test Suite. Для тестирования каждой из файловых систем раздел был начисто отформатирован. Также форматирование выполнялось для каждой версии ядра. Для монтирования каждой из файловых систем использовались параметры монтирования по умолчанию.

    Первым тестом было тестирование производительности базы данных SQLite. Скорость копирования при записи в Btrfs немного ниже чем в Ext4 и F2FS. Ext4 в этом тесте показала лучший результат. Производительность Btrfs действительно заметно улучшилась в ядрах Linux 4.5 и Linux 4.6, а для остальных файловых систем она осталась на том же уровне.

    В тесте случайного чтения FIO все три файловые системы показали регресс начиная с версии ядра Linux 4.4.

    Результаты последовательного чтения имеют совсем другой результат, по сравнению с замедлением скорости чтения на более новых ядрах.

    Тест случайной записи не так интересен.

    В тесте FS-Mark F2FS вышла на первое место. Тестировалась работа с 1000 файлов размером по 1 Мб. Производительность Ext4 и Btrfs приблизительно на одинаковом уровне.

    Flash-Friendly File-System продолжает давать отличные результаты. На этот раз 4000 файлов, 32 подкаталога, размер 1 Мегабайт.

    В многопоточном тесте FS-Mark не выявил большой разницы в производительности файловых систем Ext4 vs F2FS vs Btrfs.

    F2FS опять занимает первое место по скорости чтения в тесте BlogBench. На втором месте Btrfs.

    Наилучшая скорость записи по BlogBench в ext4.

    F2FS возвращается на вершину в тесте Dbench.

    EXT4 и F2FS показали себя лучше за Btrfs в тесте производительности PostgreSQL.

    Выводы

    Это все результаты тестирования Ext4 vs F2FS vs Btrfs, которые мы сегодня рассмотрим. Как видите, F2FS — довольно перспективная файловая система, но Ext4 и Btrfs держатся неплохо. Что касается ядер, то здесь производительность в целом увеличивается, но это увеличение не очень большое.

    Ссылка на основную публикацию
    Adblock detector