Библиография

Библиография

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

  • «Как только ваш диск(и) заполнены на 80%, вам следует рассмотреть возможность ихполный, и вы должны немедленно либо удалить что-то, либо обновить. Если они попали90%полностью, вы должны считать, что ваши собственные штаны действительно горят, и отреагировать с соответствующей степенью немедленности, чтобы это исправить». (Источник.)

  • «Чтобы сбор мусора осуществлялся максимально эффективно, традиционно рекомендуется держать 20–30 процентов вашего диска пустыми».Источник.)

  • «Мне сказали, что для лучшей производительности следует оставлять около 20% свободного места на жестком диске, поскольку жесткий диск сильно замедляется, когда он почти заполнен». (Источник.)

  • «Вы должны оставить место для файлов подкачки и временных файлов. В настоящее время я оставляю 33% свободного места и обещаю не опускаться ниже 10 ГБ свободного места на жестком диске». (Источник.)

  • «Я бы сказал, что обычно это 15%, однако, учитывая, насколько большими стали жесткие диски в наши дни, если у вас достаточно места для временных файлов и файла подкачки, технически вы в безопасности». (Источник.)

  • «Я бы рекомендовал значение 10% и более в Windows, поскольку дефрагментация не запустится, если на диске при ее запуске не будет свободного места».Источник.)

  • «Обычно желательно оставлять около 10% свободными, чтобы избежать фрагментации». (Источник.)

  • «Если ваш диск постоянно заполнен более чем на 75 или 80 процентов, стоит рассмотреть возможность перехода на более объемный SSD». (Источник.)

Проводились ли какие-либо исследования, желательно опубликованные в рецензируемом журнале, относительно процентного или абсолютного объема свободного пространства, необходимого для определенных комбинаций операционных систем, файловых систем и технологий хранения данных (например, магнитные пластины или твердотельные накопители)? (В идеале такие исследования также должны объяснять причину, по которой не следует превышать определенный объем используемого пространства, например, для того, чтобы предотвратить исчерпание системойпространство подкачки, или чтобы избежать потери производительности.)

Если вам известно о таком исследовании, я был бы признателен, если бы вы могли дать ссылку на него и краткое изложение результатов. Спасибо!

решение1

Проводились ли какие-либо исследования, желательно опубликованные в рецензируемом журнале […]?

Для этого нужно вернуться гораздо дальше, чем на 20 лет назад, системного администрирования или чего-то еще. Это была горячая тема, по крайней мере, в мире операционных систем персональных компьютеров и рабочих станций, более 30 лет назад; время, когда люди из BSD разрабатывали Berkeley Fast File System, а Microsoft и IBM разрабатывали High Performance File System.

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

Например, из описания алгоритма распределения блоков Berkeley FFS должно быть совершенно очевидно, что если в текущей и вторичной группе цилиндров нет свободного места и алгоритм достигает четвертого уровня отката («применить исчерпывающий поиск ко всем группам цилиндров»), производительность распределения блоков на диске пострадает, равно как и фрагментация файла (и, следовательно, производительность чтения).

Именно на этих и подобных анализах (а это далеко не единственные проекты файловых систем, направленные на улучшение политик компоновки проектов файловых систем того времени) и основывается общепринятая мудрость последних 30 лет.

Например: изречение в оригинальной статье о том, что тома FFS должны быть заполнены менее чем на 90%, чтобы не пострадала производительность, которое было основано на экспериментах, проведенных создателями, можно найти некритически повторенным даже в книгах по файловым системам Unix, опубликованных в этом столетии (например, Pate2003, стр. 216) . Мало кто подвергает это сомнению, хотя Амир Х. Маджидимехр на самом деле сделал это столетием ранее, заявив, что xe на практике не наблюдал заметного эффекта; не в последнюю очередь из-за обычного механизма Unix, который резервирует эти последние 10% для использования суперпользователем, что означает, что 90% заполненный диск фактически заполнен на 100% для не-суперпользователей.в любом случае (Majidimehr1996 стр. 68) . Так же поступил и Билл Калкинс, который предположил, что на практике можно заполнить до 99% дисками 21-го века, прежде чем наблюдать влияние малого свободного пространства на производительность, поскольку даже 1% современных дисков достаточно, чтобы иметь много нефрагментированного свободного пространства для работы (Calkins2002 стр. 450) .

Это последнее является примером того, как полученная мудрость может стать неверной. Есть и другие примеры этого. Так же, как миры SCSI и ATAадресация логического блокаизонированная битовая записьскорее выбросил в окно все тщательные расчетызадержка вращенияв конструкции файловой системы BSD, поэтому физическая механика твердотельных накопителей скорее выбрасывает в окно свободное пространство, полученное мудростью, применимой к дискам Winchester.

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

Для SSD-накопителей рекомендуемый минимальный объем свободного места на самом деле составляетболеечем традиционные 10%, которые приходят из экспериментов с дисками Винчестера и Berkeley FFS 33 года назад. Ананд Лал Шимпи дает 25%, например. Эта разница усугубляется тем фактом, что это должно быть свободное пространствопо всему устройству, тогда как цифра в 10%в каждом отдельном томе FFS, и, таким образом, зависит от того, знает ли программа разбиения на разделы, что необходимо обрезать все пространство, которое не выделено для допустимого тома диска таблицей разделов.

Это также усугубляется такими сложностями, как драйверы файловой системы, поддерживающие TRIM, которые могут очищать свободное пространство.в пределахобъемы дисков, а также тот факт, что сами производители SSD такжеужевыделяют различные степенизарезервированное местокоторый даже не виден снаружи устройства (т. е. хосту) для различных целей, таких как сбор мусора и выравнивание износа.

Библиография

решение2

Хотя я не могу говорить об «исследованиях», опубликованных в «рецензируемых журналах» (и я бы не хотел полагаться на них в повседневной работе), я могу рассказать о реалиях сотен производственных серверов под управлением различных операционных систем на протяжении многих лет:

Есть три причины, по которым полный диск снижает производительность:

  • Нехватка свободного места: подумайте о временных файлах, обновлениях и т. д.
  • Ухудшение файловой системы: большинство файловых систем не могут оптимально размещать файлы, если недостаточно места.
  • Ухудшение работы оборудования: SSD-накопители и SMR-диски без достаточного свободного места будут демонстрировать снижение пропускной способности и, что еще хуже, увеличение задержки (иногда на много порядков).

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

Второй пункт сильно различается между файловыми системами и рабочей нагрузкой. Для системы Windows со смешанной рабочей нагрузкой порог в 70% оказывается вполне пригодным. Для файловой системы Linux ext4 с небольшим количеством, но большими файлами (например, системы видеотрансляции) этот порог может достигать 90+%.

Третий момент зависит от оборудования и прошивки, но особенно SSD с контроллером Sandforce могут откатываться в свободном стирании блоков при высоких нагрузках записи, что приводит к увеличению задержек записи на тысячи процентов. Обычно мы оставляем 25% свободными на уровне раздела, затем наблюдаем скорость заполнения ниже 80%.

Рекомендации

Я понимаю, что я упомянулкакубедитесь, что максимальная скорость заполнения соблюдается. Несколько случайных мыслей, ни одна из них не «проверена экспертами» (оплачена, подделана или реальна), но все они из производственных систем.

  • Использовать границы файловой системы: /varне относится к корневой файловой системе.
  • Мониторинг, мониторинг, мониторинг. Используйте готовое решение, если оно вам подходит, в противном случае анализируйте вывод df -hи дайте бить тревогу на всякий случай. Это может избавить вас от 30 ядер на корневой файловой системе с установленными и запущенными автоматическими обновлениями без опции autoremove.
  • Для начала сопоставьте потенциальные сбои в работе файловой системы с затратами на ее увеличение: если у вас не встроенное устройство, вы можете просто удвоить эти 4G для root.

решение3

Проводились ли какие-либо исследования... процентного или абсолютного объема свободного пространства, необходимого для определенных комбинаций операционных систем, файловых систем и технологий хранения данных...?

За 20 лет системного администрирования я ни разу не сталкивался с исследованиями, в которых подробно описывались бы требования к свободному пространству для различных конфигураций. Я подозреваю, что это происходит из-за того, что компьютеры настолько по-разному сконфигурированы, что это было бы сложно сделать из-за огромного количества возможных конфигураций системы.

Чтобы определить, сколько свободного места требуется системе, необходимо учесть две переменные:

  1. Минимальное пространство, необходимое для предотвращения нежелательного поведения,что само по себе может иметь расплывчатое определение.

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

  2. Скорость потребления хранилища,что требует резервирования дополнительного переменного объема пространства, чтобы система не вышла из строя до того, как администратор успеет отреагировать.

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

Вот почему существует так много "крупинок" советов. Вы заметите, что многие из них дают рекомендации по определенной конфигурации. Например, "Если у вас SSD, который подвержен проблемам с производительностью при приближении к заполнению, оставляйте больше 20% свободного места".

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

Или вы можете просто оставить не менее 20% свободного места.Если, конечно, у вас нет тома RAID 6 объемом 42 ТБ, поддерживаемого комбинацией твердотельных накопителей и традиционных жестких дисков, а также предварительно выделенного файла подкачки... (это шутка для серьезных людей.)

решение4

Для SSD должно быть немного свободного места, потому что скорость перезаписи увеличивается и негативно влияет на производительность записи диска. 80% заполненности — это безопасное значение, вероятно, для всех SSD-дисков, некоторые последние модели могут нормально работать даже при 90-95% занятой емкости.

https://www.howtogeek.com/165542/why-solid-state-drives-slow-down-as-you-fill-them-up/

Связанный контент