Tartalomjegyzék
Kernelbeállítások
- Szerző: Sallai András
- Copyright © Sallai András, 2021
- 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:
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