106

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

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

  • Чтобы обеспечить максимальную эффективность сбора мусора, традиционные рекомендации направлены на то, чтобы от 20 до 30 процентов накопителя оставалось пустым. (Источник.)

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

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

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

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

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

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

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

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

9 ответов9

49

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

11

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

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

Файловые системы имеют аналогичные ожидания. Например, NTFS резервирует большую часть вашего диска для MFT, но все равно показывает это пространство как свободное. Когда вы заполняете диск NTFS более чем на 80% его емкости, вы получаете фрагментацию MFT, которая очень сильно влияет на производительность.

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

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

Даже если у вашего свопа фиксированный размер, нехватка свободного места на системном диске может привести к сбою системы и / или к невозможности ее загрузки (как в Windows, так и в Linux), поскольку ОС будет ожидать записи на диск во время загрузки. Так что да, если использовать 90% дискового пространства, вы должны считать, что ваши краски горят. Ни разу я не видел компьютеров, которые не загружались должным образом, пока последние загрузки не были удалены, чтобы дать ОС немного дискового пространства.

10

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

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

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

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

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

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

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

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

С твердотельными накопителями рекомендуемый минимальный объем свободного места на самом деле больше, чем традиционные 10%, полученные в результате экспериментов с дисками Winchester и Berkeley FFS 33 года назад. Например, Ананд Лал Шимпи дает 25%. Это различие усугубляется тем фактом, что это должно быть свободное пространство на всем устройстве, тогда как показатель 10% находится в пределах каждого отдельного тома FFS, и, следовательно, зависит от того, знает ли программа разбиения, чтобы TRIM все пространство, которое не является выделена на действительный том диска с помощью таблицы разделов.

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

Список используемой литературы

8

"Правила" варьируются в зависимости от ваших требований. И есть особые случаи, такие как, например, ZFS: «При емкости 90% ZFS переключается с оптимизации на производительность и на пространство, что имеет серьезные последствия для производительности». Да, это конструктивный аспект ZFS ... а не что-то полученное с помощью наблюдений или неподтвержденных данных. Очевидно, это не проблема, если ваш пул хранения ZFS состоит исключительно из SSD. Однако даже с вращающимися дисками вы можете с радостью достичь 99% или 100%, когда имеете дело со статическим хранилищем, и вам не нужна первоклассная производительность - например, ваша личная коллекция любимых фильмов за все время, которая никогда не меняется и где безопасность является приоритетом 1.

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

Люди, которые могут предоставить вам «реальные (серьезные) данные», вероятно, имеют дело с «реальным (серьезным) хранением». В превосходном ответе Twisty упоминаются гибридные массивы (состоящие из огромного количества дешевых медленных вращений, большого количества быстро вращающихся дисков, многих твердотельных накопителей ...), которые работают в корпоративной среде, где основным ограничивающим фактором является скорость, с которой администратор возможность заказать обновления. Переход с 16T на 35T может занять 6 месяцев ... так что в итоге вы получите отчеты с серьезной поддержкой, в которых предлагается установить будильник на 50%.

8

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

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

4

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

  • аппаратные средства

    • HDD имеет все свои сектора, выделенные в любое время. Поэтому абсолютно безразлично, сколько из них содержит текущие пользовательские данные. (Для контроллера все сектора всегда содержат некоторые данные, он просто читает и перезаписывает их в соответствии с указаниями.)
    • Контроллер SSD, с другой стороны, (де) распределяет свои сектора динамически, подобно файловой системе. Что делает эту работу сложнее при более высоком использовании. Насколько это сложнее и насколько это влияет на наблюдаемую производительность, зависит от:
      • Производительность контроллера и качество алгоритмов
      • Напишите нагрузку
      • В буквенной степени, общая загрузка (чтобы дать контроллеру время для сборки мусора)
      • Избыточное пространство (некоторые производители даже позволяют заказчику выбирать его по предварительному заказу или динамически менять)
  • Файловая система

    • Различные файловые системы предназначены для разных нагрузок и требований к обработке хоста. Это может быть в некоторой степени изменено параметрами формата.
    • Производительность записи FS зависит от свободного места и фрагментации, производительность чтения зависит только от фрагментации. Он постепенно ухудшается с самого начала, поэтому вопрос в том, где находится ваш терпимый порог.
  • Тип нагрузки

    • Большая нагрузка при записи подчеркивает быстрый поиск и доступ к новым свободным блокам
    • Большая нагрузка чтения подчеркивает консолидацию связанных данных, чтобы их можно было читать с меньшими издержками
3

Это зависит от предполагаемого использования диска, но в целом свободное место на 20-15% - хороший ответ для вращающихся дисков, а 10% или больше - для SSD.

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

Если это носитель или накопитель для длительного хранения, то достаточно 5-10% свободного места, и 10% предпочтительнее, если это вращающийся диск. Вам не нужно так много свободного места, потому что этот диск редко требует перемещения данных, поэтому производительность не так уж важна. Свободное пространство полезно главным образом для того, чтобы сбрасывать и заменять поврежденные сектора, а также для того, чтобы файлы были более непрерывными.

Я бы не стал продвигать диск на 95% больше, чем на один день, если бы не было очень веской и понятной причины.

3

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

Когда накопитель достигнет емкости, производительность снизится, потому что будут доступны только более медленные внутренние сектора.

Для более глубокого анализа см. Https://superuser.com/a/643634.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .