сравнение значений десятичной точки в операторе if

Проверьте, отображается ли файловая система в выводе grep -w sync / proc / mounts . Спойлер: ответ - нет. Монтирование файловой системы с немедленной синхронизацией происходит очень медленно. (Также это вызывает много мелких операций записи, что сокращает срок службы флэш-устройств.)

Некоторые приложения сбрасывают данные на диск, вызывая fdatasync . К сожалению, API Unix плохо спроектированы с точки зрения устойчивости¹. С точки зрения приложения, некоторые изменения должны быть устойчивыми, поскольку приложение передало данные на удаленный компьютер, указывая на то, что изменение было сохранено. В этом случае fdatasync является правильным интерфейсом.Но многим приложениям нужно что-то другое, а именно гарантия того, что если они сделают изменение 1, за которым следует изменение 2, и система выйдет из строя на полпути, то после перезапуска не будет изменения 2 без изменения 1. (Пример: изменение 1 = запись новой версии файла, изменение 2 = удаление старой версии.) Файловые системы переупорядочивают записи файловой системы для повышения производительности; обычно это невидимо для приложений, поскольку это касается только того, что происходит между кешем / буфером файловой системы и диском, а не всего, что видно приложениям. Но в случае сбоя системы содержимое диска отражает порядок фактической записи на диск. Не существует API, который бы сказал, что «это изменение должно произойти до этого изменения», поэтому приложения используют fdatasync как запасной вариант для бедняков (выполните изменение 1, вызовите fdatasync , чтобы убедиться, что оно распространено на диск, затем выполните замену 2). Это может отрицательно сказаться на производительности, особенно на носителях с медленной записью, таких как флэш-память.

Если приложение работает слишком медленно в вашей системе из-за чрезмерного использования fdatasync или его двоюродного брата fsync , вы можете использовать eatmydata , чтобы обнулить fsync / fdatasync вызывает. Но будьте осторожны, если ваша система выйдет из строя посередине, у вас могут остаться несогласованные данные.

Я не уверен, относится ли мой ответ к повторному опросу или изменению настроек надстройки Firefox. Эта операция вполне может быть чтением с диска.Особенно вспомним - его работа - читать много данных!

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

¹ Стойкость,В контексте проектирования файловой системы это вопрос о том, сохранится ли изменение файловой системы в случае сбоя системы.

1
17.02.2016, 00:26
0 ответов

Теги

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