Какая политика режима записи используется в Ubuntu?

Есть ли способ узнать, использует ли Ubuntu политику сквозной записи или обратной записи?

Я знаю, что обратная запись намного лучше, но когда я пишу программу на C для проверки кэша, кажется, что Ubuntu использует запись до конца.

ОБНОВЛЕНИЕ: я имею в виду, что это кэш процессора, а не кеш файловой системы. Меня беспокоит политика записи в кэш L1, L2, L3 и RAM. Спасибо!.

2
задан 7 October 2012 в 15:59

3 ответа

В кэше с обратной записью, когда изменения внесены в кэшированные данные, они одновременно не сделаны к исходным данным также. Вместо этого измененные данные отмечены, и исходные данные обновляются, когда chached данные освобождены.

В записи - через кэш, в отличие от этого, изменения, сделанные к кэшированным данным, одновременно внесены в оригинале. Кэш с обратной записью может работать более быстро, чем запись - через кэш. Но в некоторых контекстах, различия между кэшируемыми и исходными данными могли привести к проблемам, и запись - через кэши должна использоваться

источник

Теперь, не имеет значения, что ОС Вы продолжающий работать действительно вещь, которая влияние является файловой системой, которую Вы используете.

Ubuntu использованием по умолчанию ext4 как он файловая система и знать ext4 использует обе обратных записи режимов и запись - через.

Для включения записывают режим обратно

Выполненный:

 tune2fs -o journal_data_writeback /dev/sd*

Редактирование fstab

vi -w /mnt/sdXY/etc/fstab

Найдите строку, как которая ссылки sd* Это посмотрит что-то:

# /dev/sda2
UUID=be2f0ac2-4683-4550-bcd1-704a1a840b3e / ext4 relatime,errors=remount-ro 0 1

Первой записью является UUID.

Вторая запись является путем.

Треть является fstype.

Четвертый опции.

Пятый для дампа

Шестой передача.

Измените опции (4-е) на:

noatime,data=writeback,barrier=0,nobh,errors=remount-ro

Перезагрузите свою систему для завершения изменений.

источник

Также проверьте это для получения дополнительной информации.

2
ответ дан 7 October 2012 в 15:59

Вы также можете ознакомиться с текущим режимом «data =», посмотрев / proc / mounts. Вот пример с моего ноутбука:

$ grep ext /proc/mounts 
/dev/mapper/crypt-root / ext4 rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered 0 0
/dev/mapper/vg0-boot /boot ext4 rw,nosuid,nodev,noexec,noatime,user_xattr,barrier=1,data=ordered 0 0
/dev/mapper/crypt-homes /home ext4 rw,nosuid,noatime,user_xattr,acl,commit=60,barrier=1,data=ordered 0 0

Также обратите внимание, что «nobh» является устаревшей опцией монтирования.

0
ответ дан 7 October 2012 в 15:59

Вы также можете увидеть, если вы хотите использовать флаги O_SYNC | O_DIRECT в open (). В руководстве говорится:

«Флаг O_DIRECT сам по себе прилагает усилия для синхронной передачи данных, но не дает гарантии для флага O_SYNC, что данные и необходимые метаданные передаются. Чтобы гарантировать синхронный ввод-вывод, O_SYNC должен использоваться в дополнение к O_DIRECT. "

Смотрите man 2 open open для более подробной информации.

0
ответ дан 7 October 2012 в 15:59

Другие вопросы по тегам:

Похожие вопросы: