5. Настройка параметров ядра#
Ядро Linux, как и любая другая программа, имеет собственные параметры и настройки, которые могут быть изменены либо во время загрузки ядра Linux, либо непосредственно во время его работы. В этом разделе мы рассмотрим возможности изменения параметров Linux для повышения производительности и отзывчивости системы.
5.1. Обновление загрузчика и отключение ненужных заплаток#
По умолчанию в ядре Linux включено довольно много исправлений безопасности, которые однако существенно снижают производительность процессора. Вы можете их отключить через редактирование параметров загрузчика. Рассмотрим на примере GRUB:
sudo nano /etc/default/grub
# Редактируем настройки вручную или через grub-customizer как на изображении:
GRUB_CMDLINE_LINUX_DEFAULT="quiet lpj=XXXXXXX mitigations=off nowatchdog page_alloc.shuffle=1 pci=pcie_bus_perf intel_idle.max_cstate=1 libahci.ignore_sss=1 noautogroup"
sudo grub-mkconfig -o /boot/grub/grub.cfg
# Обновляем загрузчик, можно так
же сделать через grub-customizer, добавить и прожать, затем сохранить на 2 и 1
вкладке.
5.1.1. Разъяснения#
lpj=
- Уникальный параметр для каждой системы. Его значение
автоматически определяется во время загрузки, что довольно трудоемко,
поэтому лучше задать вручную. Определить ваше значение для lpj можно
через следующую команду: sudo dmesg | grep -o "lpj=\([0-9]*\)"
mitigations=off
- Непосредственно отключает все заплатки безопасности ядра
(включая Spectre и Meltdown). Подробнее об этом написано здесь.
nowatchdog
- Отключает сторожевые таймеры. Позволяет избавиться от заиканий
в онлайн играх.
page_alloc.shuffle=1
- Этот параметр рандомизирует свободные списки распределителя страниц.
Улучшает производительность при работе с ОЗУ с очень быстрыми накопителями (NVMe, Optane).
Подробнее тут.
intel_idle.max_cstate=1
- только для процессоров Intel. Отключает
энергосберегательные функции процессора, ограничивая его спящие
состояния, не позволяя ему переходить в состояние глубокого сна.
Увеличивает (может значительно увеличить) энергопотребление на
ноутбуках. Помогает исправлять некоторые странные зависания и ошибки
на многих системах.
pci=pcie_bus_perf
- Увеличивает значение Max Payload Size (MPS)
для родительской шины PCI Express. Это даёт лучшую пропускную
способность, т. к. некоторые устройства могут использовать значение
MPS/MRRS выше родительской шины. Больше подробностей здесь (англ.):
https://unix.stackexchange.com/questions/684623/pcie-bus-perf-understanding-the-capping-of-mrrs
https://www.programmersought.com/article/74187399630/
libahci.ignore_sss=1
- Отключает ступенчатое включение жёстких
дисков. Ускоряет работу HDD.