[[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