12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- .. ARU (c) 2018 - 2024, Pavel Priluckiy, Vasiliy Stelmachenok and contributors
- ARU is licensed under a
- Creative Commons Attribution-ShareAlike 4.0 International License.
- You should have received a copy of the license along with this
- work. If not, see <https://creativecommons.org/licenses/by-sa/4.0/>.
- .. _kernel-parameters:
- **************************
- Настройка параметров ядра
- **************************
- Ядро Linux, как и любая другая программа, имеет собственные параметры
- и настройки, которые могут быть изменены либо во время загрузки ядра
- Linux, либо непосредственно во время его работы. В этом разделе мы
- рассмотрим возможности изменения параметров Linux для повышения
- производительности и отзывчивости системы.
- .. index:: bootloader, patch-off, grub, grub-customizer, mitigations-off
- .. _update-bootloader-parameters:
- =====================================================
- Обновление загрузчика и отключение ненужных заплаток
- =====================================================
- По умолчанию в ядре Linux включено довольно много исправлений безопасности,
- которые однако существенно снижают производительность процессора. Вы можете их
- отключить через редактирование параметров загрузчика. Рассмотрим на примере
- GRUB:
- ``sudo nano /etc/default/grub`` # Редактируем настройки вручную или через grub-customizer как на изображении:
- .. image:: images/kernel-parameters-1.png
- ::
- 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
- вкладке.
- .. index:: settings, mitigations-off
- .. _explanations:
- --------------
- Разъяснения
- --------------
- ``lpj=`` - Уникальный параметр для каждой системы. Его значение
- автоматически определяется во время загрузки, что довольно трудоемко,
- поэтому лучше задать вручную. Определить ваше значение для lpj можно
- через следующую команду: ``sudo dmesg | grep -o "lpj=\([0-9]*\)"``
- ``mitigations=off`` - Непосредственно отключает все заплатки безопасности ядра
- (включая Spectre и Meltdown). Подробнее об этом написано `здесь
- <https://linuxreviews.org/HOWTO_make_Linux_run_blazing_fast_(again)_on_Intel_CPUs>`_.
- ``nowatchdog`` - Отключает сторожевые таймеры. Позволяет избавиться от заиканий
- в онлайн играх.
- ``page_alloc.shuffle=1`` - Этот параметр рандомизирует свободные списки распределителя страниц.
- Улучшает производительность при работе с ОЗУ с очень быстрыми накопителями (NVMe, Optane).
- Подробнее `тут
- <https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e900a918b0984ec8f2eb150b8477a47b75d17692>`__.
- ``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.
- .. vim:set textwidth=70:
|