Преимущества/недостатки увеличивающейся “фиксации” в fstab

Можно внести изменения в Windows, но необходимо использовать другого редактора, чем Блокнот. Попробуйте Блокнот ++, PsPad или подобное программное обеспечение. Блокнот Windows всегда изменяет окончания строки на стиль Windows, и он вызывает проблему.

14
15.10.2014, 19:10
1 ответ

Используйте dd для чтения раздела файла без чтения всего предшествующего. Для примера (чтение байтов от 4 120 000 до 4 120 400) можно использовать

dd  bs=400  skip=10300  count=1  if=your_input_file  of=your_output_file

Это определяет размер логического блока в 400 байт, и затем сообщает dd пропустить первый 10300 «логических блоков» входного файла (, если ). 10300 - это 4,120,000 start400. Затем считывает один блок ( count = 1 ) из 400 байт и записывает его в выходной файл ( из ). Если опустить из спецификации , dd запишет в стандартный вывод, так что вы можете направить его в что-то.

Если начальная точка (смещение) не гарантирована быть целым числом, кратным размеру блока (или даже если оно есть), Вы можете делать более сложные вещи, как

(dd bs=10000 skip=412 count=0;  dd bs=400 count=1 of=your_output_file) < your_input_file

или

(dd bs=4120000 skip=1 count=0;  dd bs=400 count=1 of=your_output_file) < your_input_file

где

  • Опять же, вы можете опустить из спецификации , и это будет запись в стандартный вывод.
  • При выполнении dd без спецификации , если , она считывается из стандартного ввода. Стандартный ввод для всего (dd...; dd...) группа команд поступает из < вашего _ входного файла _ в конце.
  • Первая команда dd не считывает и не записывает данные из-за count = 0 ; он только стремится.
  • Поскольку две команды dd получают стандартный ввод от одного и того же перенаправления ввода-вывода, поиск, выполняемый первым, повлияет на указатель файла, который видит второй.
-121--175432-

Что на самом деле делает commit ?

Я думаю, что одно из лучших объяснений было дано здесь allquixotic .

Есть ли на самом деле преимущества его увеличения (например, быстродействие и экономия электроэнергии)? Может ли это на самом деле привести к потере данных?

Согласно ext4 официальной документации :

Ext4 может быть сказано синхронизировать все свои данные и метаданные каждые «nrsec» секунд. Значение по умолчанию - 5 секунд. Это означает, что если вы потеряете свою мощность, вы потеряете столько же, сколько последние 5 секунд работы (ваша файловая система не будет повреждена, однако, благодаря ведение журнала). Это значение по умолчанию (или любое низкое значение) приведет к снижению производительности , но это хорошо для безопасности данных . Установка значения 0 будет иметь тот же эффект, что и при сохранении значения по умолчанию (5 секунд). Установка для очень больших значений повысит производительность .

Увеличение значения commit означает, что вы можете потерять столько же, сколько последние N секунд работы (где N = интервал фиксации), хотя большую часть времени это не произойдет , поскольку программное обеспечение все еще может вызвать fsync () и получить свои данные, записанные на диск, переопределяя параметр фиксации. На него можно смотреть как на «записывать все на диск хотя бы так часто» . 1
С другой стороны, это означает меньше записей (что делает его довольно популярным среди пользователей ssd) и лучшую производительность (множественные записи объединяются в одну единственную более крупную запись, обновления предыдущих записей в течение интервала времени фиксации отменяются).
Что касается экономии энергии, то, согласно этой странице , в настоящее время возрастающее значение commit не экономит энергию.

12
27.01.2020, 19:51

Теги

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