Настройка производительности Debian 10

Обновлено: 21.11.2024

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

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

  1. ВНИМАНИЕ
  2. Основы
  3. Разделения и выравнивание
  4. Монтирование файловых систем SSD
  5. Уменьшение частоты записи SSD через RAMDISK
  6. Постоянный RAMDISK
  7. Планировщик операций ввода-вывода с малой задержкой
  8. Пример /etc/fstab
  9. Пример /etc/lvm/lvm.conf
  10. Система меньшего размера с SSD
  11. Добавление vm.swappiness в sysctl для ядра
  12. сократите обмен файлами с помощью ZRam
  13. Обновление прошивки
  14. Отчеты об ошибках, связанных с SSD

ВНИМАНИЕ

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

В частности, многие накопители, в том числе Samsung, Micron, Crucial, имеют проблемы с сбросом/TRIM. См. также 790520

Убедитесь, что вы просмотрели последнюю версию этого файла для вашей модели и, если он есть, убедитесь, что он также относится к версии ядра, которую вы собираетесь запускать, или найдите другой способ избежать проблем (например, не используйте discard/ TRIM или конкретная версия прошивки).

Основы

  • Используйте достаточно новую версию Linux (ядро)
  • Используйте последнюю версию встроенного ПО для SSD
    • Для безопасного сохранения всего содержимого DRAM для перехода в спящий режим требуется раздел подкачки, размер которого превышает размер DRAM.
    • Если размер вашего твердотельного накопителя слишком мал для размера вашей оперативной памяти, подумайте о том, чтобы заменить его на более крупный классический жесткий диск.
    • Если вы планируете выполнять большое количество операций записи (более 40–50 ГБ в день), рекомендуется избегать твердотельных накопителей, использующих TLC NAND.

    Разделения и выравнивание

    Вам следует рассмотреть возможность использования схемы разделов с несколькими жесткими дисками/твердотельными накопителями, чтобы хранить переменные и объемные данные на жестких дисках и установить резервную избыточность, если в системе также имеется доступный жесткий диск (внутренний или внешний вращающийся диск).< /p>

    Монтирование файловых систем SSD

    • Добавьте параметр монтирования "noatime" (или параметр по умолчанию "relatime") в /etc/fstab, чтобы отключить (или значительно уменьшить) запись на диск при каждом чтении файла.
      • Это повышает производительность чтения файловой системы как для твердотельных, так и для жестких дисков.
      • Установите параметр "issue_discards" в файле /etc/lvm/lvm.conf для LVM, если хотите, чтобы LVM отбрасывал lvremove.
      • Установите параметр "отбросить" в файле /etc/crypttab для dm-crypt.
      • Включить еженедельную обрезку.
      • В качестве альтернативы (часто не рекомендуется): установите параметр монтирования «отменить» в /etc/fstab для файловой системы ext4, раздела подкачки, Btrfs и т. д.

      Пример для файла /etc/crypttab dm-crypt:

      После изменения параметров файловой системы обновите параметры во всех образах initramfs:

      Альтернативой «issue_discards» LVM является blkdiscard на LV перед lvremove или после этого на временно созданном LV с помощью lvcreate -l100%FREE, чтобы обрезать все неиспользуемые LVM. пробел.

      Уменьшение частоты записи SSD через RAMDISK

      • включить управляемые системой виртуальные диски Конечно, это не улучшит запись на SSD, если ваша система (файловая система, содержащая / или /tmp) не расположена на нем.
        • используя systemd:
        • используя systemV, установите для параметров RAMTMP, RAMRUN и RAMLOCK значение "yes" в файле /etc/default/tmpfs.
        • Настройки ядра, такие как "dirty_buffer_ratio" и т. д.
        • Параметры монтирования "commit=600" в /etc/fstab.

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

        Обратите внимание, что файлы в /tmp удаляются при перезагрузке, если для /etc/default/rcS не задано значение, отличное от TMPTIME=0 (если не задано, по умолчанию используется 0).

        Вам также может быть интересно узнать о сводке: перенос /tmp на tmpfs делает его бесполезным

        Постоянный RAMDISK

        • /home (синхронизируется с рейдом work-data-fs только один раз в день?), вы только рискуете настроить истинную работу в /home/*/work-data на выделенном рейде
        • /home/*/work-data/volatile (синхронизируется чаще, раз в час?)
        • /home/*/Загрузки (синхронизируются с bulk-data-fs один раз в день?)
        • /var полностью, если поддерживается (синхронизируется один раз в день?позволяет избежать раскрутки и позволяет сохранять /var также на SSD), по крайней мере, установите это для
          • /var/log, если поддерживается
          • /var/cache/apt/archives
            • Настройте apt для удаления файлов пакета после установки, чтобы свести к минимуму данные для синхронизации.

            Планировщик операций ввода-вывода с малой задержкой

            Этот шаг не требуется для твердотельных накопителей, использующих протокол NVMe вместо SATA, поскольку NVMe использует модуль blk-mq вместо традиционного планировщика ввода-вывода.

            Планировщик ввода-вывода по умолчанию ставит данные в очередь, чтобы свести к минимуму поиск на жестких дисках, что не требуется для твердотельных накопителей. Таким образом, используйте планировщик «крайних сроков», который просто гарантирует, что массовые транзакции не замедлят мелкие транзакции: установите sysfsutils и

            (настройте sdX в соответствии с вашим SSD) перезагрузите компьютер или

            Чтобы проверить, знает ли ядро ​​о SSD, попробуйте:

            Чтобы переключить планировщик вручную, выполните:

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

            Пример /etc/fstab

            Вот пример /etc/fstab (перед копированием из этого примера прочтите ПРЕДУПРЕЖДЕНИЕ вверху об удалении)

            Пример /etc/lvm/lvm.conf

            (перед копированием из этого примера прочтите ПРЕДУПРЕЖДЕНИЕ вверху об удалении)

            Вам не нужен этот параметр для сброса файловой системы; это для LVM для сброса на lvremove и т. д. Если вы предпочитаете делать это вручную, используйте blkdiscard на подлежащем удалению LV.

            Система меньшего размера с SSD

            Добавление vm.swappiness в sysctl для ядра

            vm.swappiness=0 считается опасным?

            У меня только что было многоминутное зависание системы (ping все еще работал, nc к порту 22 все еще открывал соединение, но sshd молчал) из-за отсутствия "доступной памяти" в выводе top(8); с vm.swappiness=0 ядро ​​использовало всего ⅓ МиБ подкачки из 3 ГиБ, которые у меня есть. Это произошло уже второй раз на этой неделе; Firefox и IntelliJ вместе съели всю оперативную память.

            После того, как я прочитал больше о твердотельных накопителях, теперь я рассматриваю вариант vm.swappiness=10; некоторый обмен, наверное, все же, в целом, лучше. --ТорстенГлазер

            уменьшите количество обменов с помощью ZRam

            С помощью ZRam (он же compcache) можно применять сжатие данных к содержимому системной памяти (ОЗУ). Это эффективно обменивает некоторые циклы ЦП на возможность втиснуть гораздо больше в доступную системную память и, таким образом, снижает потребность в выгрузке страниц памяти на SSD. Он использует специализированные высокоскоростные алгоритмы сжатия данных, которые особенно нетребовательны к процессору и, как говорят, обычно обеспечивают сжатие примерно 1:3 для этого типа контента. Поскольку сжатие обычно выполняется быстрее, чем запись на устройства подкачки, оно также повышает производительность систем без чрезмерного объема физической памяти. См. соответствующую статью о том, как его активировать.

            Обновление прошивки

            (перед внесением изменений в прошивку прочтите ПРЕДУПРЕЖДЕНИЕ вверху)

            Некоторые проблемы могут возникнуть из-за ошибок прошивки. Поэтому используйте такие инструменты, как smartctl (терминал) или GSmartControl (графический интерфейс), чтобы проверить наличие предупреждений об обновлении прошивки. Обычно производитель предоставляет эти проприетарные образы встроенного ПО, упакованные в инструменты обновления, доступные в виде ISO-образов загрузочного компакт-диска.

            В случае, если они использовали FreeDOS, запущенную syslinux, вместо загрузки с компакт-диска вы можете извлечь образ (дискеты) внутри ISO и создать новую запись в меню загрузки GRUB2.

            Для обновления прошивки Crucial m4 файл syslinux.cfg выглядит следующим образом:

            Копирование файлов memdisk и boot2880.img в загрузочный раздел позволяет запускать их из GRUB2 путем добавления записи в /etc/grub. д/40_custom:

            Затем запустите update-grub, чтобы применить изменения. Перезагрузитесь и выберите созданную загрузочную запись, затем следуйте меню обновления прошивки. После завершения перезагрузите компьютер.

            Обновление прошивки для других моделей описано на вики-странице Arch Linux SSD.

            Debian — это самый большой и масштабный совместный проект в мире. Наиболее важной причиной успеха проекта Debian GNU/Linux является то, что этот дистрибутив Linux был написан более чем 1000 программистами. В этой статье мы намерены предоставить информацию о настройке производительности и оптимизации Debian. Вы можете посетить пакеты, доступные в Eldernode, если вам нужно приобрести сервер Linux VPS.

            Оглавление

            Настройка производительности и оптимизация Debian 10/9/8

            Как установить Tuned на Debian 10/9/8

            Вы можете легко установить и активировать настроенный пакет в Debian, используя следующие команды:

            После использования приведенных выше команд для установки настроенного пакета в Debian теперь вы должны ввести команду systemctl start tuningd для запуска.Затем вы можете просмотреть следующий вывод с помощью команды $ systemctl status tuning. Во второй и третьей строках после команды можно проверить статус активации сервисов:

            Статус $ systemctl настроен

            ● tuningd.service — демон динамической настройки системы
            Загружен: загружен (/usr/lib/systemd/system/tuned.service; включен; предустановка поставщика: включен)
            Активен: активен (работает) со вт 06.11.2020 04:10:52 UTC; 6 дней назад
            Документы: man:tuned(8)
            man:tuned.conf(5)
            man:tuned-adm(8)
            Основной PID: 936 (tuned)
            CGroup: /system.slice/tuned.service
            └─936 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
            …..

            Как выбрать профиль настройки в Debian

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

            Профили энергосбережения

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

            Профили повышения производительности

            Профили повышения производительности включают аспекты, которые мы объясним ниже:

            1. Задержка-производительность

            Профиль для настройки производительности с малой задержкой. Отключает механизмы энергосбережения. Губернатор ЦП настроен на производительность и заблокирован на низкие состояния C (посредством PM QoS). Энергоэффективность процессора смещается в сторону производительности.

            2. Пропускная способность-производительность

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

            3. Виртуальный хост

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

            4. Производительность виртуальной машины

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

            Учебник по выбору профиля настройки в Debian

            Вы можете изменить настройки настроенного демона с помощью команды tuningd-adm. Вы можете проверить активный профиль настройки с помощью следующей команды:

            Кроме того, как показано ниже, вы можете использовать команду tuning-adm list, чтобы просмотреть все доступные профили настройки:

            Ниже приведен пример максимизации пропускной способности. Следует отметить, что с помощью команды tuning-adm profile вы можете переключаться с одного активного профиля на другой активный профиль:

            Узнайте, как проверить рекомендуемый профиль настройки в Debian

            В зависимости от характеристик вашей системы может быть рекомендован профиль настройки на основе команды tuningd-adm. Эти спецификации могут быть рекомендованы этой командой в зависимости от того, является ли система виртуальной машиной или около того.

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

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

            Учебное пособие Отключение профиля настройки в Debian

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

            Заключение

            В этой статье мы попытались подробно рассказать о настройке производительности и оптимизации Debian. Мы также попытались предоставить учебные пособия о том, как установить Tuned, как выбрать профиль настройки, а также как проверить рекомендуемый профиль настройки в Debian.

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

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

            Итак, давайте рассмотрим два режима настройки системы.

            Статическая настройка

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

            Динамическая настройка

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

            Установка Tuned

            В системе Linux RHEL/CentOS 8/7 настроенный пакет установлен и включен по умолчанию. Если вы хотите установить и включить пакет вручную на машине CentOS/RHEL, выполните команды:

            Убунту / Дебиан:

            Подтвердите статус службы после ее запуска.

            Выбор профиля настройки

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

            Мы будем использовать команду tuning-adm для изменения настроек демона tuned.

            Проверить текущий активный профиль настройки:

            Команда tuned-adm list используется для вывода списка всех доступных профилей настройки:

            В Ubuntu доступно больше профилей:

            Профиль настроенного администратора

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

            Подтвердите текущий профиль.

            Проверьте рекомендуемый профиль настройки для системы

            Команда tuned-adm также может порекомендовать профиль настройки для системы. Это зависит от различных характеристик системы, в том числе от того, является ли система виртуальной машиной, и других предопределенных категорий, выбранных во время установки системы.

            Затем вы можете установить для своего профиля рекомендуемое значение.

            Чтобы просмотреть сведения о профиле, выполните:

            Отключение профиля

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

            Используйте команду tuned-adm off, чтобы отключить настроенную настройку:

            Подтвердите с помощью команды:

            Вы также можете управлять профилями настройки с помощью веб-консоли Cockpit.

            Ваша поддержка — наша вечная мотивация,
            эта чашка кофе — это то, что заставляет нас двигаться вперед!

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

            Спасибо за вашу поддержку, поскольку мы работаем, чтобы предоставить вам лучшие руководства и статьи. Нажмите ниже, чтобы купить нам кофе.

            Мы рассчитываем на вашу поддержку. Вы слышали о Phoronix Premium? Это то, что дополняет рекламу на этом сайте для нашего премиального сервиса без рекламы. Всего за 3 доллара США в месяц вы можете помочь поддерживать наш сайт, в то время как полученные средства позволяют нам продолжать проводить обзоры оборудования Linux, оценивать производительность, поддерживать форумы нашего сообщества и многое другое. Вы также можете рассмотреть чаевые через PayPal. Повышение производительности Debian 11 отлично подходит для Intel Xeon, AMD EPYC

            В минувшие выходные был выпущен Debian 11 "Bullseye" как новейшая версия этого основного дистрибутива Linux, который также является основой для многих других. Учитывая популярность стабильной версии Debian на серверах, наш первый этап сравнительного анализа Debian 11.0 касается производительности по сравнению с Debian 10.10 на оборудовании Intel Xeon «Ice Lake» и AMD EPYC «Milan» последнего поколения.

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

            В случае перехода с Debian 10 на Debian 11 это означает переход с Linux 4.19 на 5.10 LTS, с GCC 8.3 на GCC 10.2, с Python 3.7 на Python 3.9 и многие другие важные обновления. Ядро Linux с 4.19 до 5.В версии 10 появилось много крупных дополнений для новых программных функций, в случае с процессорами AMD это означает изменение CPUFreq по умолчанию с ondemand на schedutil, а также улучшенную поддержку более нового оборудования, такого как серверы Xeon Ice Lake и EPYC Milan, тестируемые для этого начального этапа тестирования. Тестирование производительности Debian 11.

            На серверах AMD EPYC 7763 2P и Intel Xeon Platinum 8380 2P, Debian 10.10 и Debian 11.0 были протестированы в их готовых конфигурациях/конфигурациях по умолчанию на этих двух серверах, чтобы увидеть, как производительность отличается (значительно улучшается) на этих двух серверах. охват более 70 различных тестов. Сравнение Debian 11 с другими современными дистрибутивами Linux скоро появится на Phoronix.

            Читайте также: