[[oktatas:linux|< Linux]] ====== Kernelbeállítások ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2021 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== A kernelbeállítások lekérdezése ===== sysctl -a Egyetlen beállítás lekérdezése (naplózási szint): sysctl kernel.printk ===== A kernel beállítása ===== A kernel paramétereit, rendszerint a /etc/sysctl.conf fájlban állítjuk be. /etc/sysctl.conf Ha egy értéket beállítunk, aktualizálni kell azt: sysctl -p ==== sysctl.d könyvtár ==== A Debian GNU/Linuxban rendelkezésre áll egy /etc/sysctl.d könyvtár, amelyben elhelyezhetjük saját kernelbeállításainkat. Egy tetszőleges nevű .conf kiterjesztésű fájlt kell létrehozni, amelyet rendszerindításkor beállításra kerül. A saját beállításokhoz a következő fájl létrehozását szokták javasolni: /etc/sysctl.d/local.conf Fájlnévnek, csomagnevek megadása nem ajánlott, mert ütközhet a rendszer-beállításokkal. A sysctl parancs csak akkor veszi figyelembe, ha megadjuk a --system kapcsolót: sysctl --system Vagy adjuk meg a fájlt: sysctl -p local.conf sysctl --load local.conf ===== Naplózási szint ===== Az eredmény az aktuális, az alapértelmezett, a minimális és a rendszer indítási naplószintet mutatja. Naplózási szintek: ^ Név ^ String ^ Alias függvény ^ | KERN_EMERG | "0" | pr_emerg() | | KERN_ALERT | "1" | pr_alert() | | KERN_CRIT | "2" | pr_crit() | | KERN_ERR | "3" | pr_err() | | KERN_WARNING | "4" | pr_warn() | | KERN_NOTICE | "5" | pr_notice() | | KERN_INFO | "6" | pr_info() | | KERN_DEBUG | "7" | pr_debug() és pr_devel() if DEBUG is defined | | KERN_DEFAULT | "" | | KERN_CONT | "c" | pr_cont() | Forrás: * https://www.kernel.org/doc/html/latest/core-api/printk-basics.html (2021) ==== A kernel ne írjon a konzolra ==== Konzolos felületen néha előfordul, hogy a kernel a konzolra írja üzeneteit, amit szeretnénk kikapcsolni. Ehhez szerkesztenünk kell az /etc/sysctl.conf fájlt. A végére írjuk a kernel/printk = 1 sort például így: echo "kernel/printk = 1" >> /etc/sysctl.conf Alkalmazás: sysctl -p ===== Figyelhető fájlok ===== Lekérdezés: sysctl fs.inotify.max_user_watches Vagy: cat /proc/sys/fs/inotify/max_user_watches Debian GNU/Linux 11-en, az alapértelmezés: 8192 Általában, akkor kell növelni, ha egy program több fájlt is figyel. Például ilyen hibát kapunk: System limit for number of file watchers reached Megnövelhetjük 10000-re, 65536 vagy a maximumra: 524288. Nézzük meg az aktuális használatot: find /proc/*/fd -user $USER -lname anon_inode:inotify -printf '%hinfo/%f\n' 2>/dev/null | xargs cat | grep ^inotify | wc -l Az /etc/sysctl.conf fájlba vegyük fel a következő értéket: fs.inotify.max_user_watches=524288 Majd aktualizáljuk: sysctl -p Parancs, ami beírja számunkra: echo 'fs.inotify.max_user_watches=524288' | sudo tee -a /etc/sysctl.conf