синхронизация против асинхронизации для образов

Команда timeout имеет опцию продолжительности, которую вы не используете.

Согласно руководству:

timeout [OPTION] DURATION COMMAND [ARG]...

В любом случае, конструкция, которую вы используете, не будет работать. (например, использование двух отдельных команд).

На самом деле я рекомендую использовать команду timelimit, которая гораздо более последовательна. Установите ее с помощью:

sudo apt-get install timelimit

Из руководства:

timelimit [-pq] [-S killsig] [-s warnsig] [-T killtime] [-t warntime] команда [аргументы ...]

Ссылки:

man timelimit

http://manpages.ubuntu.com/manpages/utopic/man1/timelimit.1.html

Реальный пример использования из моего скрипта:

timelimit -q -t1 -T30 command

1
24.08.2018, 14:10
1 ответ

I personally think that it is better to let host FS (btrfs in my case) handle handle sync by itself, so sync ption is better. Am I right?

Если я вас правильно понял, то нет :-). (Но это не совсем понятно, и, возможно, вы хотели написать «асинхронный вариант лучше», а не «синхронный вариант» ).

Устройство замыкания на себя (, используемое для монтирования образов файловой системы ), учитывает запросы синхронизации, эффективно преобразовывая их в fsync(). Затем базовая файловая система преобразует их обратно в запросы синхронизации на блочном устройстве или что-то еще. Таким образом, даже для образа файловой системы добавление опции syncсделает все операции записи полностью синхронными (и, следовательно, медленнее ).

Если у вас нет другой причины, вы можете выполнить монтирование без этих параметров и оставить значение по умолчанию async. Все запросы fsync()внутри смонтированного образа будут выполняться как обычно.

1
27.01.2020, 23:42

Теги

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