Разберитесь в каждом параметре. Запросите точный промышленный профиль.
Этот общедоступный справочник описывает назначение, допустимые значения, влияние на latency, возможные отказы и проверку после загрузки. Универсальная командная строка HFTKernel намеренно не публикуется: точные значения зависят от топологии CPU, размещения NUMA, очередей NIC, учёта времени, хранилища, политики безопасности и нагрузки.
Универсальной командной строки для низкой latency не существует.
Промышленный профиль должен рассматривать служебные CPU, торговые CPU, соседние потоки SMT, узлы NUMA, очереди NIC и хранилища, потоки RCU, рабочие очереди, источники времени и привязку приложения как единую систему.
Отделяйте управление производительностью от политики рисков
Изоляция CPU, размещение IRQ и поведение NUMA относятся к управлению производительностью. Настройки защиты от уязвимостей, LSM, аудита, ASLR, watchdog и machine-check требуют отдельного решения по безопасности и эксплуатации.
Проверяйте эффект, а не синтаксис
Параметр может не поддерживаться, дублировать другой, переопределяться прошивкой или позднее изменяться пользовательским ПО. Определяющее значение имеют фактическое состояние в sysfs, procfs, dmesg, привязка IRQ и измеренная latency.
Промышленный профиль по запросу
Точные значения формируются под ваш сервер и нагрузку.
Перед выбором параметров загрузки инженеры HFTKernel рассматривают торговые и служебные CPU, соседние потоки SMT, узлы NUMA, очереди NIC и хранилища, доступ для управления, восстановление, учёт времени и безопасность как единую систему.
Каждый параметр, его варианты и эксплуатационный эффект
Ищите по параметру, подсистеме, значению, риску или команде проверки. Общедоступный справочник объясняет параметр без выбора значения для промышленной эксплуатации.
⌕/
Показано 35 из 35 параметров
Нужны выбранные значения, маски CPU и итоговая командная строка?Они формируются после анализа топологии и не публикуются как универсальный шаблон.
Нет параметров, соответствующих запросу. Очистите запрос или найдите подсистему, например CPU, IRQ, IOMMU, безопасность или NVMe.
Параметров: 5
Загрузка, корневая файловая система, консоль и аварийный дамп
Параметры выбора ядра и корневой файловой системы, начального монтирования, последовательной консоли и резервирования памяти для kdump.
BOOT_IMAGEМетаданные загрузчика; не параметр управления latencyОткрыть
Назначение
GRUB обычно добавляет этот токен для записи выбранного образа ядра. Основное ядро Linux не использует его для настройки; он полезен главным образом для диагностики и сопоставления загрузки с конкретным образом.
Значения и варианты
BOOT_IMAGE=/boot/vmlinuz-<version>Путь в формате файловой системы, используемый во многих конфигурациях GRUB.
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-<version>Обозначение устройства GRUB.
omittedДопустимо; выбранный образ по-прежнему определяется загрузчиком.
Компромисс или возможный отказ
Скопированная строка BOOT_IMAGE может быть устаревшей или чисто информационной. Определяющее значение имеет идентификация работающего ядра.
rootВыбор корневого устройства ядром/initramfsОткрыть
Назначение
Выбирает блочное устройство или логический идентификатор будущей корневой файловой системы. initramfs может разрешить значение до монтирования настоящего корня.
Значения и варианты
root=UUID=<filesystem-uuid>Стабильный идентификатор файловой системы; обычно предпочтительнее изменяемого имени устройства.
root=LABEL=<label> or root=PARTLABEL=<label>Понятная человеку метка файловой системы или раздела.
root=/dev/nvme0n1p2 or root=/dev/mapper/<name>Прямой путь к устройству; прост, но имя может зависеть от порядка обнаружения.
Компромисс или возможный отказ
Неверное значение препятствует загрузке. Перед развёртыванием убедитесь, что initramfs содержит необходимые драйверы хранилища, LVM, RAID или шифрования.
roНачальный режим монтирования корневой файловой системыОткрыть
Назначение
Запрашивает начальное монтирование корневой файловой системы ядром только для чтения. Система инициализации обычно выполняет проверки и позднее перемонтирует её для чтения и записи.
Значения и варианты
roНачальное монтирование только для чтения.
rwНачальное монтирование для чтения и записи.
Компромисс или возможный отказ
Изменение может повлиять на восстановление при ранней загрузке и поведение initramfs; проверьте сценарии восстановления.
Управляет направлением сообщений консоли ядра. Значения последовательной консоли задают устройство, скорость, чётность и число бит данных; для поддерживаемых платформ также доступны виртуальные и локальные консоли.
Значения и варианты
console=tty0Локальный виртуальный терминал.
console=ttyS<N>,<baud><parity><bits>Последовательная консоль, совместимая с 8250; примеры: 115200n8 и 9600n8.
console=hvc0Виртуальная консоль гипервизора в поддерживаемых гостевых системах.
console=nullОтбрасывать вывод консоли.
multiple console= tokensДублировать вывод ядра на несколько подходящих консолей; проверьте, какое устройство становится /dev/console.
Компромисс или возможный отказ
Интенсивный вывод в консоль может быть затратным, особенно на медленном последовательном устройстве. Управляйте уровнем и частотой журналирования, а не отключайте вслепую доступ для восстановления.
Резервирует память для ядра захвата, которое может записать vmcore после panic. Значение auto реализовано в некоторых дистрибутивах, но не является универсально переносимой политикой определения размера в основном проекте.
Значения и варианты
crashkernel=<size>Зарезервировать фиксированный объём, например 512M.
crashkernel=<range>:<size>[,<range>:<size>…]Выбрать размер резерва по объёму установленной RAM.
crashkernel=<size>,high plus crashkernel=<size>,lowРазделить высокий и низкий резерв на поддерживаемых архитектурах.
crashkernel=<size>,cmaИспользовать резерв на основе CMA, если поддерживается.
crashkernel=autoАвтоматическое определение размера, зависящее от дистрибутива; подтвердите поддержку в целевом ядре и инструментах загрузки.
omittedБез резерва для аварийного ядра; kdump не сможет захватить vmcore.
Компромисс или возможный отказ
Зарезервированная RAM недоступна основному ядру. Ядро захвата с недостаточной памятью откажет именно тогда, когда понадобится больше всего.
Управление C-states, P-states, балансом энергии и производительности и одновременной многопоточностью.
intel_idle.max_cstateВыбор и глубина драйвера Intel cpuidleОткрыть
Назначение
Управляет самым глубоким состоянием простоя, предоставляемым intel_idle. Значение 0 отключает intel_idle и переключает на другой драйвер простоя, обычно acpi_idle; само по себе оно не гарантирует, что CPU остаётся в C0.
Значения и варианты
0Отключить intel_idle и перейти к альтернативе платформы.
1Предоставлять только самое неглубокое состояние intel_idle.
2–9Разрешать более глубокие состояния до выбранного индекса драйвера с учётом поддержки CPU.
omittedИспользовать значение драйвера по умолчанию и таблицу состояний платформы.
Компромисс или возможный отказ
Неглубокий простой повышает стабильность пробуждения, но увеличивает энергопотребление, нагрев, нагрузку на вентиляторы и может затруднить поддержание частоты.
processor.max_cstateОграничение состояния простоя процессора ACPIОткрыть
Назначение
Ограничивает самое глубокое состояние простоя ACPI, регистрируемое драйвером простоя процессора. Важно преимущественно при активном acpi_idle, в том числе когда другой драйвер простоя отключён или недоступен.
Значения и варианты
0В текущем коде основного проекта ни одно C-state ACPI не проходит цикл регистрации; итоговое резервное поведение нужно проверить на целевой платформе.
1Ограничить состоянием C1.
2–8Разрешить состояния ACPI до выбранной глубины, если прошивка их предоставляет.
9 or another value above the normal limitМожет переопределять некоторые ограничения чёрного списка DMI; это не рекомендация по latency.
omittedИспользовать значения прошивки и драйвера по умолчанию.
Компромисс или возможный отказ
Значение 0 может приводить к зависящему от платформы резервному поведению. Не считайте его переносимым синонимом «только C0».
intel_pstateРежим драйвера изменения частоты Intel CPUОткрыть
Назначение
Выбирает режим работы драйвера изменения частоты intel_pstate или запрещает его загрузку. Выбранный режим меняет семантику управления, поведение HWP и доступные governors.
Значения и варианты
disableНе включать intel_pstate.
activeИспользовать активный режим intel_pstate и его внутренние алгоритмы performance/powersave.
passiveИспользовать intel_pstate как драйвер изменения частоты под управлением общих governors cpufreq.
forceПринудительно включить intel_pstate на обычно исключённых системах; возможны последствия для управления температурой и питанием платформы.
no_hwpНе включать Hardware P-states.
hwp_onlyЗагружать только при доступности HWP.
support_acpi_ppcСоблюдать ограничения ACPI _PPC.
per_cpu_perf_limitsПредоставлять ограничения производительности для каждого логического CPU.
no_casОтключить поддержку планирования с учётом вычислительной мощности на гибридных системах.
Компромисс или возможный отказ
Политика фиксированной максимальной частоты может усилить тепловой троттлинг и снизить устойчивую производительность всех ядер. Измеряйте время пребывания на частотах и tail latency совместно.
epbНестандартный токен загрузки; Intel Energy Performance Bias обычно настраивается через sysfs или x86_energy_perf_policyОткрыть
Назначение
Задаёт политику Energy Performance Bias в деревьях ядра или инструментах загрузки, которые явно обрабатывают этот токен. Основной Linux обычно предоставляет Intel EPB для каждого CPU через energy_perf_bias и не определяет epb= как общий параметр командной строки ядра.
Значения и варианты
0Максимальный приоритет производительности в интерфейсе EPB.
1–14Промежуточный баланс производительности и энергии.
15Максимальный приоритет энергосбережения.
performance, balance-performance, normal, balance-power, powerИменованные значения, принимаемые интерфейсом sysfs для каждого CPU в поддерживаемых ядрах.
Компромисс или возможный отказ
Прошивка, сон/возобновление, горячее подключение CPU или служба управления питанием могут перезаписать EPB. Считайте выбранную политику управляемым рабочим состоянием и проверяйте её постоянно.
Отключает вторичные потоки SMT, оставляя не более одного активного логического CPU на физическое ядро. Может снизить конкуренцию соседних потоков за исполнительные блоки, кеши и некоторые пути обработки прерываний.
Значения и варианты
nosmtОтключить SMT при загрузке; повторное включение во время работы может оставаться доступным, если платформа и ядро это разрешают.
nosmt=forceПринудительно отключить SMT и запретить включение во время работы.
omittedИспользовать значения прошивки и ядра по умолчанию.
Компромисс или возможный отказ
Отключение SMT уменьшает число логических CPU и может перенести больше фоновой работы на меньшее число служебных CPU.
Поведение тиков, изоляция CPU, размещение IRQ и RCU
Основная группа управления latency: CPU full-dynticks, изоляция доменов планировщика, привязка служебных задач, смещение таймеров и вынос обратных вызовов RCU.
nohzПодавление тиков при простоеОткрыть
Назначение
Управляет режимом простоя без тиков, если ядро собрано с необходимой поддержкой NO_HZ. Включённый режим позволяет простаивающим CPU останавливать периодический тик планировщика.
Значения и варианты
onВключить простой без тиков, если поддерживается.
offОтключить простой без тиков и сохранить периодические тики.
omittedИспользовать значение конфигурации ядра по умолчанию.
Компромисс или возможный отказ
Параметр не действует, если работающее ядро собрано без соответствующей поддержки.
skew_tickРаспределение фаз периодических тиков по CPUОткрыть
Назначение
Управляет смещением периодических тиков между CPU вместо одновременного срабатывания на всех CPU. Включение может снизить конкуренцию за блокировки и синхронный шум в больших системах.
Значения и варианты
0Не смещать периодические тики намеренно.
1Распределить фазы тиков между CPU.
Компромисс или возможный отказ
Компромисс: более высокое энергопотребление из-за возможного сокращения периодов общего простоя процессорного пакета.
Задаёт список CPU по умолчанию для IRQ без более конкретной политики привязки. Выбранная маска CPU определяет, где начинается обработка иначе не назначенных прерываний.
Значения и варианты
irqaffinity=<cpu-list>CPU и диапазоны через запятую, например 0,4-7.
omittedИспользовать маску привязки архитектуры/ядра по умолчанию.
Компромисс или возможный отказ
CPU 0 может стать узким местом. Управляемые прерывания MSI-X могут подчиняться маске по умолчанию иначе, чем обычные IRQ.
isolcpusИзоляция доменов планировщика и управляемых IRQОткрыть
Назначение
Выбирает CPU и флаги изоляции для исключения из доменов планировщика, режима full-dynticks и исключения из управляемых IRQ. Изоляция доменов задаётся при загрузке и необратима до следующей перезагрузки.
Изоляция не переносит автоматически потоки ядра, рабочие очереди, очереди устройств, таймеры или потоки приложения. Это один компонент полной схемы служебной обработки.
Останавливает периодический тик планировщика на указанных CPU при подходящей нагрузке, уменьшая повторяющиеся вмешательства ядра. По крайней мере один служебный CPU остаётся вне набора; загрузочный CPU исключается автоматически.
Значения и варианты
nohz_full=<cpu-list>Выбрать CPU full-dynticks, например 2-15,18-31.
nohz_full=allЗапросить все возможные CPU; ядро всё равно сохраняет необходимые служебные CPU.
omittedБез CPU full-dynticks, выбранных при загрузке.
Компромисс или возможный отказ
Указанный CPU по-прежнему может получать прерывания, работу потоков ядра, ошибки страниц, сбросы TLB и межпроцессорные вызовы, если эти пути не контролируются отдельно.
Переносит выполнение обратных вызовов RCU с выбранных CPU в выделенные kthreads. Токен без значения не выбирает CPU при загрузке; необходим явный список CPU или совместимый механизм настройки во время работы.
Значения и варианты
rcu_nocbs=<cpu-list>Вынести обратные вызовы для указанных CPU, например rcu_nocbs=1-3.
rcu_nocbs with no argumentCPU не выбираются при загрузке; подходящие CPU можно переключить позднее через cpusets/рабочие интерфейсы.
rcu_nocb_pollПеревести nocb kthreads на опрос вместо ожидания пробуждений; может снизить latency пробуждения ценой значительного энергопотребления.
omittedИспользовать обычное размещение обратных вызовов, кроме CPU nohz_full, для которых современные ядра автоматически выполняют вынос.
Компромисс или возможный отказ
Вынос перемещает работу, а не устраняет её. Недостаточные служебные CPU могут накапливать обратные вызовы и вызывать остановки всей системы.
Clocksource, политика питания PCIe и обход проблем платформы
Управление учётом времени и платформой, которое может влиять на latency пробуждения, периодическую работу и предсказуемость путей устройств.
pcie_aspm.policyПолитика PCI Express Active State Power ManagementОткрыть
Назначение
Выбирает политику PCIe Active State Power Management. Доступные политики обменивают latency пробуждения линии на энергопотребление платформы с учётом управления каждой линией со стороны прошивки и ядра.
Значения и варианты
defaultИспользовать политику прошивки/по умолчанию.
performanceОтдать приоритет производительности и отключить ASPM/Clock PM в рамках политики ядра.
powersaveВключить энергосберегающие состояния линий со сбалансированной политикой.
powersupersaveИспользовать наиболее агрессивную доступную политику энергосбережения.
Компромисс или возможный отказ
Энергопотребление растёт, а некоторые линии под управлением прошивки могут не следовать запрошенной политике.
acpi_pad.disableУправление ACPI Processor Aggregator, зависящее от версии/поставщикаОткрыть
Назначение
Управляет специфичным для дерева ядра переключателем ACPI Processor Aggregator, предназначенным для предотвращения принудительного простоя. Текущий код acpi_pad основного проекта может не предоставлять этот параметр модуля, поэтому поддержку нужно проверить в точном ядре и дистрибутиве.
Значения и варианты
acpi_pad.disable=1Поддерживается только деревьями ядра, предоставляющими этот параметр модуля.
acpi_pad.disable=0Включение/поведение по умолчанию в деревьях, реализующих параметр.
driver/module blacklist policyПереносимая эксплуатационная альтернатива, если драйвер модульный и подтверждено, что он не нужен.
Компромисс или возможный отказ
Удаление механизма управления питанием платформы может нарушить ожидания прошивки. Проверьте на точной модели сервера и версии BIOS.
clocksourceВыбор источника учёта времени ядраОткрыть
Назначение
Выбирает именованный clocksource ядра. В современных синхронизированных системах с инвариантным TSC он может обеспечивать низкие накладные расходы чтения и высокое разрешение, тогда как другим платформам может требоваться иной проверенный источник.
Значения и варианты
clocksource=tscПринудительно использовать TSC, если ядро считает его доступным.
clocksource=hpetИспользовать HPET, если доступен; обычно более высокие накладные расходы чтения.
clocksource=acpi_pmИспользовать таймер ACPI PM, если доступен.
clocksource=kvm-clock, hyperv_clocksource, xen, or another listed sourceВарианты, зависящие от гипервизора/платформы.
omittedПозволить ядру выбрать стабильный источник с лучшей оценкой.
Компромисс или возможный отказ
Не добавляйте tsc=reliable только ради подавления предупреждений. Это отдельное переопределение отключает проверки стабильности и уместно лишь при подтверждённых гарантиях платформы.
Отключает загрузочную проверку для выявления некорректной маршрутизации прерываний таймера. Это обход проблемы совместимости для конкретного оборудования или виртуальных сред, а не общая оптимизация latency.
Подавление диагностики может скрыть проблему маршрутизации таймера платформы, которая позднее проявится потерей тиков или нестабильностью учёта времени.
Настройки с существенными последствиями, которые снижают накладные расходы ценой безопасности или диагностики отказов. Требуют явного решения о производственном риске.
selinuxИнициализация SELinuxОткрыть
Назначение
Определяет, инициализируется ли SELinux и какой режим политики используется при загрузке. Отключение инициализации убирает применение политики и перехватчики аудита SELinux из работающей системы.
Значения и варианты
selinux=0Отключить SELinux при загрузке.
selinux=1 or omittedРазрешить инициализацию SELinux, если он собран и настроен.
enforcing=0Связанная альтернатива: инициализировать SELinux в разрешающем режиме, чтобы отказы регистрировались, но не блокировали действия.
enforcing=1Начать применение ограничений, если политика это поддерживает.
Компромисс или возможный отказ
selinux=0 является решением по безопасности, а не общим требованием HFT. Повторное включение обычно требует перезагрузки и может потребовать переразметки меток файловой системы.
mitigationsПолитика защиты от уязвимостей CPUОткрыть
Назначение
Выбирает политику защиты от уязвимостей CPU. Доступные режимы обменивают накладные расходы переключения контекста и управления спекулятивным выполнением на защиту от применимых аппаратных уязвимостей.
Значения и варианты
offОтключить все необязательные меры защиты.
autoВключить защиту в соответствии с уязвимостями CPU и настройками ядра по умолчанию.
auto,nosmtАвтоматическая защита с отключением SMT там, где требуется.
omittedИспользовать политику, заданную при сборке/по умолчанию.
Компромисс или возможный отказ
В зависимости от CPU это может раскрыть данные ядра, процессов, VM и других потоков. Выигрыш в latency зависит от оборудования и нагрузки.
auditНачальное состояние подсистемы аудита LinuxОткрыть
Назначение
Определяет, включается ли подсистема аудита ядра при загрузке. Выбранное состояние влияет на накладные расходы генерации событий и доступность свидетельств для безопасности, соблюдения требований и реагирования на инциденты.
Значения и варианты
audit=0 or audit=offОтключить аудит на эту загрузку; полностью включить позднее без перезагрузки нельзя.
audit=1 or audit=onВключить аудит при загрузке.
omittedИспользовать настроенное значение ядра/дистрибутива по умолчанию.
Компромисс или возможный отказ
Отключение аудита может нарушить требования соответствия, реагирования на инциденты и расследований.
Управляет обработкой x86 Machine Check Exception и связанным восстановлением. Отключение убирает асинхронные сообщения об аппаратных ошибках и важную телеметрию сбоев CPU, памяти и межсоединений.
Значения и варианты
offОтключить обработку machine-check.
no_cmciОтключить прерывания исправленных ошибок и использовать опрос, если поддерживается.
dont_log_ceНе регистрировать исправленные ошибки.
ignore_ceИгнорировать исправленные ошибки.
no_lmceОтключить поддержку Local Machine Check Exception.
bootlog or nobootlogУправлять регистрацией machine-check, обнаруженных при загрузке, в поддерживаемых ядрах.
Отключение MCE может превратить диагностируемое ухудшение компонента в незаметное повреждение данных, необъяснимые сбросы или неотслеживаемые всплески latency.
Проверка после загрузки
dmesg | grep -Ei "mce|machine check|hardware error"
ls /sys/devices/system/machinecheck 2>/dev/null || true
systemctl status rasdaemon 2>/dev/null || true
Отключает поддержку Machine Check Exception в 32-битных ядрах x86. Это не стандартный параметр x86-64; он может дублировать уже выбранную другую политику machine-check.
Значения и варианты
nomceОтключить MCE в поддерживаемых 32-битных сборках x86.
omittedИспользовать обычную политику архитектуры.
Компромисс или возможный отказ
Избыточные или неприменимые к архитектуре токены затрудняют аудит конфигурации загрузки и могут скрывать неверные предположения.
norandmapsРандомизация адресного пространства пользовательских процессовОткрыть
Назначение
Отключает ASLR пользовательских процессов, что эквивалентно kernel.randomize_va_space=0. Виртуальные адреса становятся более повторяемыми, но устойчивость к эксплуатации уязвимостей существенно снижается.
Значения и варианты
norandmapsОтключить рандомизацию адресного пространства пользовательских процессов.
omittedИспользовать политику ASLR sysctl/по умолчанию.
kernel.randomize_va_space=0, 1, or 2Рабочая политика/sysctl: отключено, ограниченная рандомизация или полная рандомизация.
Компромисс или возможный отказ
Ослабляет защиту от эксплуатации повреждения памяти на всём сервере.
Отключает watchdog как hard-lockup, так и soft-lockup. При наличии этого флага отдельные узкие переключатели отключения watchdog могут стать избыточными.
Значения и варианты
nowatchdogОтключить watchdog зависаний ядра.
omittedИспользовать настроенную политику watchdog.
watchdog_thresh=<seconds>Связанная альтернатива: сохранить обнаружение, но увеличить порог.
Компромисс или возможный отказ
Жёсткое или мягкое зависание может продолжаться без сообщения ядра. Обеспечьте наличие другого независимого механизма контроля работоспособности.
Управляет автоматической балансировкой NUMA, которая отслеживает обращения к памяти через периодическую защиту страниц и может переносить задачи или страницы. Выбранное состояние обменивает автоматическое исправление локальности на шум ошибок страниц и миграции.
omittedИспользовать значение ядра/дистрибутива по умолчанию.
Компромисс или возможный отказ
При отключённой автоматической балансировке неудачное размещение приложения не исправляется. Явно привязывайте память и проверяйте счётчики удалённых обращений.
iommuПолитика прямого пропуска DMA по умолчаниюОткрыть
Назначение
Выбирает политику доменов IOMMU по умолчанию для обычных устройств. Прямой пропуск или тождественное отображение могут снизить накладные расходы трансляции DMA для доверенных устройств, тогда как домены с трансляцией обеспечивают более сильную изоляцию.
Значения и варианты
iommu=ptИспользовать режим прямого пропуска по умолчанию.
iommu=noptИспользовать режим DMA с трансляцией по умолчанию.
iommu.passthrough=1Современный явный параметр управления прямым пропуском.
iommu.passthrough=0Использовать трансляцию IOMMU по умолчанию.
iommu.strict=0 or 1Связанная политика инвалидации в режиме трансляции: отложенная или строгая.
iommu=off, force, noforce, soft, merge, nomergeОбщие параметры, зависящие от архитектуры; не прямые синонимы прямого пропуска.
Компромисс или возможный отказ
Прямой пропуск ослабляет изоляцию DMA. Неисправное или скомпрометированное устройство может обращаться к памяти сервера за пределами выделенных ему буферов.
Проверка после загрузки
dmesg | grep -Ei "IOMMU.*(passthrough|Default domain)|DMAR"
find /sys/kernel/iommu_groups -maxdepth 2 -type l 2>/dev/null | head -n 40
Управляет предсказуемым именованием интерфейсов в systemd/udev. Отключение может вернуть устаревшие имена вроде eth0, если дистрибутив это допускает; это соглашение пользовательского пространства, передаваемое в командной строке ядра, а не переключатель сетевой latency.
Значения и варианты
0Отключить предсказуемую NamePolicy.
1 or omittedРазрешить предсказуемое именование согласно активной схеме имён systemd и политике .link.
Компромисс или возможный отказ
Устаревший порядок ethX может меняться при изменении оборудования, прошивки или порядка обнаружения. Ошибка идентификации интерфейса опаснее любых предпочтений в именовании.
Проверка после загрузки
ip -br link
udevadm test-builtin net_id /sys/class/net/$(ls /sys/class/net | head -n1) 2>/dev/null | head -n 40 || true
cat /proc/cmdline
nvme_core.io_timeoutТайм-аут команд ввода-вывода NVMe в секундахОткрыть
Назначение
Задаёт входное значение тайм-аута ввода-вывода NVMe в секундах. Текущий основной проект хранит параметр модуля как беззнаковое целое со значением по умолчанию 30, затем преобразует его в тайм-аут блочного слоя в jiffies; поэтому фактический тайм-аут очереди нужно проверить после загрузки.
Значения и варианты
30Текущее значение основного проекта по умолчанию в секундах; проверьте целевое ядро.
a finite positive integerЯвный тайм-аут в секундах.
4294967295Максимальное 32-битное беззнаковое входное значение, а не обозначение бесконечности. Выражение драйвера nvme_io_timeout * HZ может переполниться до формирования фактического тайм-аута запроса; в ядре 1000 Hz это значение может дать около 49.7 дня вместо 136 лет.
Компромисс или возможный отказ
Очень большой тайм-аут или переполнение могут блокировать ввод-вывод на неожиданное время и задержать сброс, переключение при отказе или восстановление приложения. Считайте значение в /sys/block/<device>/queue/io_timeout фактическим обязательным значением.
nvme_core.max_retriesМаксимальное число повторов команд NVMeОткрыть
Назначение
Задаёт максимальное число повторов подходящих команд NVMe. Текущий основной проект хранит его как беззнаковый байт со значением по умолчанию 5.
Значения и варианты
0Не повторять подходящие команды.
1–255Максимальное число повторов; 10 вдвое больше текущего значения основного проекта по умолчанию.
omittedИспользовать значение ядра по умолчанию.
Компромисс или возможный отказ
Большее число повторов может увеличить tail latency и задержать переключение при отказе. Меньшее число повторов может раньше выявить временные ошибки носителя или транспорта.
Пять уровней точного промышленного профиля загрузки
Удобный в сопровождении профиль отделяет постоянные настройки платформы от зависящих от топологии списков CPU и рискованных переопределений безопасности. HFTKernel оценивает эти уровни совместно и поставляет конфигурацию, которую можно проанализировать, проверить и отменить.
Корневое устройство, начальный режим монтирования, последовательная консоль и проверенный резерв памяти kdump.
02
Предсказуемость платформы
Драйвер простоя, частотная политика, PCIe ASPM, clocksource, NUMA и политика IOMMU.
03
Топология
Служебные CPU, CPU full-dynticks, вынос RCU, маска IRQ по умолчанию, привязка очередей и cpusets приложений.
04
Применение настроек во время работы
Маски рабочих очередей, привязка потоков ядра, политика EPB/governor, очереди NIC, привязка памяти и CPU affinity сервисов.
05
Управление рисками
Защита от уязвимостей, LSM, аудит, ASLR, watchdog и политика machine-check рассматриваются отдельно.
Проверка после загрузки
Подтвердите фактическое состояние перед измерением latency
Командная строка лишь задаёт входные параметры. Этот список проверок подтверждает работающее ядро, топологию CPU, набор full-dynticks, размещение IRQ, clocksource, политику питания, IOMMU, состояние безопасности и политику восстановления NVMe.
Последовательность проверок без изменения состояния
Документация основного проекта, использованная в справочнике
Всегда проверяйте документацию и исходный код для точной версии ядра, патчей дистрибутива, загрузчика, прошивки и пользовательского ПО, развёрнутых на целевом сервере.