Puteți configura mai mulți parametri sau reglabile pentru Linux (kernel-ul) pentru a-i controla comportamentul, fie la pornire, fie la cerere, în timp ce sistemul rulează. sysctl este un utilitar de linie de comandă utilizat pe scară largă pentru modificarea sau configurarea parametrilor kernelului în timpul execuției. Puteți găsi reglajele nucleului enumerate sub /proc/sys/ director.
Este alimentat de procfs (sistem de fișiere proc), un pseudo sistem de fișiere în Linux și alte sisteme de operare asemănătoare Unix care oferă o interfață cu structurile de date ale nucleului. Prezintă informații despre procese și informații suplimentare despre sistem.
Următoarele sunt 10 utile sysctl exemple de comenzi pe care le puteți folosi atunci când administrați un sistem Linux care rulează. Rețineți că aveți nevoie de privilegii de root pentru a rula sysctl comanda, în caz contrar, utilizați comanda sudo la invocarea acestuia.
Cuprins
În acest ghid, vom explica 10 exemple practice de comandă sysctl pe care le puteți utiliza pe un sistem Linux.
Pentru a lista toți parametrii kernel disponibili în prezent, rulați comanda sysctl cu -A
sau --toate
steag așa cum se arată.
$ sudo sysctl -a. SAU. $ sudo sysctl --all.
Variabilele sunt afișate în acest format:
. =
De exemplu,
kernel.ostype = Linux.
Pentru a imprima numai numele variabilelor fără valorile lor, utilizați -N
opțiunea așa cum se arată.
$ sudo sysctl -a -N.
Pentru a găsi o anumită variabilă, puteți filtra rezultatul sysctl prin intermediul comanda grep, de exemplu, pentru a filtra orice variabilă asociată cu memorie management, puteți rula următoarea comandă:
$ sudo sysctl -a | memorie grep. SAU. $ sudo sysctl --all | memorie grep.
sysctl comanda arată, de asemenea, variabilele învechite, împreună cu lista tuturor variabilelor disponibile folosind --depreciat
steag așa cum se arată.
$ sudo sysctl -a --deprecat. SAU. $ sudo sysctl -a --deprecated | memorie grep.
A citi a sysctl variabilă și valorile acesteia, specificați numele variabilei ca argument pentru sysctl comenzi după cum urmează. Acest exemplu arată cum să citiți nucleu.ostip
variabil.
$ sudo sysctl kernel.ostype kernel.ostype = Linux
Pentru a scrie variabile temporar, trebuie doar să specificați variabila în acest format.
. =
Următorul exemplu arată cum să măriți dimensiunea maximă a cozii de primire, care stochează cadrele selectate din memoria tampon de inel al NIC (Placa de retea), odată ce sunt primite din rețea. Dimensiunea cozii poate fi modificată folosind net.core.netdev_max_backlog
variabilă după cum se arată.
$ sudo sysctl net.core.netdev_max_backlog. $ sudo sysctl net.core.netdev_max_backlog=1200. $ sudo sysctl net.core.netdev_max_backlog.
sysctl de asemenea, poate scrie variabile permanent într-un fișier de configurare. Pentru a realiza acest lucru, utilizați -w
opțiunea și specificați fișierul de configurare la care va fi atașată variabila și valoarea acesteia, în acest caz /etc/sysctl.conf, fișierul implicit de configurare sysctl:
$ sudo sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.conf.
Pentru a scrie fișiere permanent într-un mod personalizat, specificați locația fișierului după cum urmează. Uneori, puteți eșua să creați un fișier în anumite locații chiar și atunci când invocați fișierul sysctl comanda folosind comanda sudo.
Într-un astfel de caz, treceți la contul rădăcină (dacă aveți privilegii) și executați din nou comanda, așa cum se arată.
$ sudo sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.d/10-test-settings.conf. $ sudo su. # sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.d/10-test-settings.conf.
Alternativ, puteți crea noul fișier de configurare în /etc/sysctl.d/ director așa cum se arată:
$ sudo vim /etc/sysctl.d/10-test-settings.conf.
Apoi adăugați parametrii kernelului, câte unul pe linie, așa cum se arată.
net.core.netdev_max_backlog = 1200. user.max_net_namespaces = 63067. vm.overcommit_memory = 0.
Apoi salvați fișierul și închideți-l. Pentru a încărca setările din fișierul personalizat pe care tocmai l-ați creat, utilizați -p
sau --sarcină
steag.
$ sudo sysctl -p /etc/sysctl.d/10-test-settings.conf. SAU. $ sudo sysctl --load= /etc/sysctl.d/10-test-settings.conf.
Pentru a reîncărca setările din toate fișierele de configurare a sistemului fără a reporni, lansați următoarea comandă.
$ sudo sysctl --system.
Comanda de mai sus va citi toate fișierele de configurare a sistemului din aceste directoare, în această ordine:
/run/sysctl.d/*.conf. /etc/sysctl.d/*.conf. /usr/local/lib/sysctl.d/*.conf. /usr/lib/sysctl.d/*.conf. /lib/sysctl.d/*.conf. /etc/sysctl.conf.
De asemenea, puteți reîncărca setările variabile dintr-un fișier de configurare sysctl personalizat, așa cum se arată.
$ sudo sysctl -p/etc/sysctl.d/10-test-settings.conf. SAU. $ sudo sysctl --load= /etc/sysctl.d/10-test-settings.conf.
Pentru a aplica numai setările care se potrivesc cu un anumit model, utilizați -r
sau --model
după cum urmează. Rețineți că modelul folosește sintaxa extinsă a expresiilor regulate, iată câteva exemple:
$ sudo sysctl --system --pattern '^net.ipv6' $ sudo sysctl --system -r memorie.
În acest ghid, am explicat 10 sysctl exemple de comandă pe care le puteți folosi pentru a gestiona un sistem Linux care rulează. Pentru mai multe informații, citiți sysctl pagina de manual (om sysctl).