< Linux

Kernelbeállítások

Szerző: Sallai András

Copyright © Sallai András, 2021

Licenc: 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