---
title: Správa linuxových kernelů a frameworku Sched-ext pomocí CachyOS Kernel Manageru
description: CachyOS Kernel Manager je výkonný nástroj pro správu kernelů, který uživatelům umožňuje snadno instalovat nebo sestavovat vlastní kernely.
---

import ImageComponent from '~/components/image-component.astro';

Instalace kernelu z repozitáře
---------------------------------------

**CachyOS Kernel Manager zjednodušuje instalaci a správu kernelů z jakéhokoli repozitáře Arch Linuxu.**

Pro instalaci kernelu spusťte aplikaci `CachyOS Kernel Manager` a vyberte požadovaný kernel zaškrtnutím políčka `[]` ze seznamu všech dostupných možností, poté stačí stisknout `Provést` pro zahájení instalace kernelu.

<br />
<ImageComponent imgsrc={import('~/assets/images/cachyos-km1.png')} />

:::note
Tlačítko `Provést` se stane nedostupným, když vyberete již nainstalovaný kernel.
:::

Konfigurace a sestavení vlastního CachyOS kernelu
---------------------------------

<br />
<ImageComponent imgsrc={import('~/assets/images/cachyos-km2.png')} />

**CachyOS Kernel Manager usnadňuje konfiguraci a sestavení vlastního CachyOS kernelu.**

:::note
CachyOS Kernel Manager je speciálně navržen pro sestavování vlastních kernelů pro **varianty CachyOS** a nepodporuje sestavování nebo konfiguraci standardního kernelu Arch Linuxu ani žádné jiné varianty.
:::

*Pro začátek otevřete Kernel Manager a klikněte na tlačítko `Konfigurovat` pro úpravu různých nastavení, jako je požadovaný plánovač, frekvence časovače (tick rate) a další. Jakmile provedete požadované změny, klikněte na tlačítko `Sestavit kernel` pro zahájení sestavování vašeho vlastního CachyOS kernelu.*

**Dostupné možnosti konfigurace:**

* *`Vlastní název balíčku`: **S touto možností můžete svůj kernel pojmenovat, jak chcete, například: `linux-custom-cachy`***
* *Plánovač (BORE, RC, RT, RT+BORE, EEVDF a BMQ)*
* *Povolit konfiguraci CachyOS*
* *Upravit konfiguraci pomocí nconfig, menuconfig, xconfig nebo gconfig*
* *Povolit/Zakázat NUMA*
* *Povolit/Zakázat Modprobed-db*
* *KBUILD CFLAGS (-O3 nebo -O2)*
* *Výkonnostní governor jako výchozí*
* *Povolit BBR3*
* *Výběr tick rate (100Hz, 250Hz, 300Hz, 500Hz, 600Hz, 750Hz, 1000Hz)*
* *Beztikový režim (idle, periodic, full)*
* *Preempce (Full, Voluntary nebo Server)*
* *Transparent Hugepages (Always nebo Madvise)*
* *Povolit/Zakázat DAMON*
* *Povolit/Zakázat automatickou detekci architektury CPU*
* *Aplikovat optimalizaci kernelu pro specifické architektury CPU*
* *Povolit LTO (Full, Thin, No)*
* *Sestavit modul ZFS*
* *Sestavit uzavřený modul NVIDIA*
* *Sestavit otevřený modul NVIDIA*
* *Zahrnout vmlinux s ladícími informacemi/symboly*
* *Načíst/Uložit přednastavení konfigurace Kernel Manageru: `(Pouze přednastavení ze samotného manažeru)`*
* *Správa patchů kernelu (podpora vzdálených i lokálních)*

**Jakmile bude kernel úspěšně sestaven, budete vyzváni k zadání hesla sudo pro instalaci kernelu.**

## Správa frameworku Sched-ext

**Kernel Manager poskytuje grafické uživatelské rozhraní (GUI) pro správu a ovládání plánovačů sched-ext. Přístup k GUI získáte kliknutím na tlačítko `Konfigurace plánovače sched-ext` v hlavním okně.**

<br />
<ImageComponent imgsrc={import('~/assets/images/cachyos-km3.png')} />

Toto GUI vám umožňuje:

- **Přepínat mezi různými plánovači sched-ext (scx).**
- **Povolit nebo zakázat službu plánovače.**
- **Zkontrolovat aktuálně běžící plánovač.**
- **Nastavit příznaky a profily plánovače. `V současné době podporují profily pouze bpfland a lavd.`**

Pro dosažení tohoto cíle používá Kernel Manager `scx_loader` s konfigurací uloženou v:

`/etc/scx_loader.toml`. Pro více informací o konfiguračním souboru `scx_loader` se podívejte na [tuto dokumentaci](https://github.com/sched-ext/scx/blob/main/rust/scx_loader/configuration.md).

- **Jak `scx_loader` funguje?**
    - Jakmile vyberete plánovač a profil, scx_loader spustí plánovač s vybraným profilem a uloží tuto konfiguraci do souboru `/etc/scx_loader.toml`, aby byla zajištěna perzistence po restartu. Příklad toho, jak bude soubor vypadat při výběru `scx_bpfland` s profilem `Gaming`:
        ```toml
        default_sched = "scx_bpfland"
        default_mode = "Gaming"

        [scheds.scx_bpfland]
        auto_mode = []
        gaming_mode = ["-m", "performance"]
        lowlatency_mode = ["-k", "-s", "5000", "-l", "5000"]
        powersave_mode = ["-m", "powersave"]
        ```

### Profily plánovače

- **K čemu slouží "profily"?**
  - Jsou to přednastavení pro plánovač, která upravují příznaky na základě osvědčených kombinací pro zvýšení efektivity pro specifické případy použití, jako je například "Hraní her".

**Pro podrobnější pohled se podívejte na tabulku.**

#### Bpfland

|   Název profilu  	|  Příznaky příkazového řádku  	|                                                         Popis                                                         	|
|:---------------:	|:--------------------:	|:---------------------------------------------------------------------------------------------------------------------------:	|
| **Nízká latence** 	| `-s 5000 -S 500 -l 5000 -m performance` 	| Určeno ke snížení latence na úkor propustnosti. Vhodné pro soft real-time aplikace jako zpracování zvuku a multimédia. 	|
| **Hraní her**      	| `-m performance`  	| Optimalizuje konzistenci výkonu ve hrách na systémech s hybridními jádry. Upřednostňuje P-jádra před E-jádry na procesorech Intel a CCD na procesorech Ryzen X3D.         	|
| **Úspora energie**  	| `-m powersave`       	| Upřednostňuje energetickou účinnost. Dává přednost méně výkonným jádrům (např. E-jádra na Intelu).                                          	|
| **Server**        | `-p`                | Upřednostňuje úlohy s přísnou afinitou, tato možnost může zvýšit propustnost na úkor latence a je vhodnější pro serverové zátěže.

#### Flash

   Název profilu     |  Příznaky příkazového řádku   |                                                         Popis                                                           |
|:---------------:  |:--------------------: |:---------------------------------------------------------------------------------------------------------------------------:  |
| **Nízká latence**   | `-m performance -w -C 0`   | Určeno ke snížení latence na úkor propustnosti. Vhodné pro soft real-time aplikace jako zpracování zvuku a multimédia.   |
| **Hraní her**        | `-m all`      | Optimalizuje pro vysoký výkon ve hrách.           |
| **Úspora energie**    | `-m powersave -I 10000 -t 10000 -s 10000 -S 1000`        | Upřednostňuje energetickou účinnost. Dává přednost méně výkonným jádrům (např. E-jádra na Intelu) a zavádí nucený cyklus nečinnosti každých 10 ms pro zvýšení úspory energie.
                                            |
| **Server**        | `-m all -s 20000 -S 1000 -I -1 -D -L`                | Vyladěno pro serverové zátěže. Vyměňuje odezvu za propustnost.

#### LAVD

|       Název profilu       	| Příznaky příkazového řádku 	|                                                             Popis                                                            	|
|:------------------------:	|:------------------:	|:----------------------------------------------------------------------------------------------------------------------------------:	|
| **Hraní her a nízká latence** 	|   `--performance`  	| Maximalizuje výkon použitím všech dostupných jader s upřednostněním fyzických jader.                                                   	|
|      **Úspora energie**      	|    `--powersave`   	| Minimalizuje spotřebu energie při zachování rozumného výkonu. Upřednostňuje efektivní jádra a vlákna před fyzickými jádry. 	|

#### P2DQ

|       Název profilu        | Příznaky příkazového řádku    |                                                             Popis                                                               |
|:------------------------: |:------------------:   |:----------------------------------------------------------------------------------------------------------------------------------:   |
| **Nízká latence**  |   `-y`     | Snižuje latenci tím, že interaktivní úlohy více drží na CPU, ke kterému byly přiřazeny.                                                     |
|      **Server**       |    `--keep-running`      | Zlepšuje serverové zátěže tím, že umožňuje úlohám běžet i po uplynutí jejich časového úseku, pokud je CPU nečinné.    |

#### Tickless

|   Název profilu    |  Příznaky příkazového řádku   |                                                         Popis                                                           |
|:---------------:  |:--------------------: |:---------------------------------------------------------------------------------------------------------------------------:  |
| **Hraní her**   | `-f 5000 -s 5000`   | Zvyšuje herní výkon zvýšením frekvence, s jakou plánovač detekuje vytížení CPU, a spouští přepínání kontextu s kratším časovým úsekem.    |
| **Úspora energie**        | `-f 50 -p`      | Zvyšuje energetickou účinnost snížením kontrol vytížení a agresivním snažením se udržet úlohy na stejném CPU.          |
| **Nízká latence**    | `-f 5000 -s 1000`        | Podobné jako herní profil, ale s dále zkráceným časovým úsekem.                                            |
| **Server**        | `-f 100`                | Snižuje frekvenci, s jakou plánovač kontroluje vytížení CPU, aby se zlepšila propustnost na úkor odezvy.
