![Orodje za snemanje na namizju Screenkey prikaže pritiske tipk na zaslonu](/f/804775df95ca9aff53be93c7b5f8c2a7.png?width=100&height=100)
Konfigurirate lahko več parametrov ali nastavljivih elementov Linuxa (jedra), da nadzirate njegovo vedenje, bodisi ob zagonu bodisi na zahtevo med delovanjem sistema. sysctl je široko uporabljen pripomoček ukazne vrstice za spreminjanje ali konfiguriranje parametrov jedra med izvajanjem. Nastavljive jedra najdete pod /proc/sys/ imenik.
Poganja ga procfs (datotečni sistem proc), psevdodatotečni sistem v Linuxu in drugih operacijskih sistemih, podobnih Unixu, ki nudi vmesnik za podatkovne strukture jedra. Predstavlja informacije o procesih in dodatne informacije o sistemu.
Sledi 10 uporabnih sysctl primeri ukazov, ki jih lahko uporabite pri skrbništvu delujočega sistema Linux. Upoštevajte, da za zagon potrebujete korenske pravice sysctl ukaz, sicer uporabite ukaz sudo ko ga prikličete.
Kazalo
V tem priročniku bomo razložili 10 praktičnih primerov ukazov sysctl, ki jih lahko uporabite v sistemu Linux.
Za seznam vseh trenutno razpoložljivih parametrov jedra zaženite ukaz sysctl z -a
oz --vse
zastavo, kot je prikazano.
$ sudo sysctl -a. ALI $ sudo sysctl --vse.
Spremenljivke so prikazane v tej obliki:
. =
na primer
kernel.ostype = Linux.
Če želite natisniti samo imena spremenljivk brez njihovih vrednosti, uporabite -N
možnost, kot je prikazano.
$ sudo sysctl -a -N.
Če želite poiskati določeno spremenljivko, lahko filtrirate izhod sysctl prek ukaz grep, da na primer filtrirate vse spremenljivke, povezane z spomin upravljanje, lahko zaženete naslednji ukaz:
$ sudo sysctl -a | pomnilnik grep. ALI $ sudo sysctl --vse | pomnilnik grep.
sysctl prikaže tudi zastarele spremenljivke skupaj s seznamom vseh razpoložljivih spremenljivk z uporabo --zastarelo
zastavo, kot je prikazano.
$ sudo sysctl -a --zastarelo. ALI $ sudo sysctl -a --zastarelo | pomnilnik grep.
Za branje a sysctl spremenljivko in njene vrednosti, podajte ime spremenljivke kot argument za sysctl ukaze, kot sledi. Ta primer prikazuje, kako brati kernel.ostype
spremenljivka.
$ sudo sysctl kernel.ostype kernel.ostype = Linux
Če želite začasno napisati spremenljivke, preprosto določite spremenljivko v tem formatu.
. =
Naslednji primer prikazuje, kako povečati največjo velikost prejemne čakalne vrste, ki shranjuje okvirje, izbrane iz obročnega medpomnilnika NIC (Kartica omrežnega vmesnika), ko so prejeti iz omrežja. Velikost čakalne vrste je mogoče spremeniti z uporabo net.core.netdev_max_backlog
spremenljivko, kot je prikazano.
$ sudo sysctl net.core.netdev_max_backlog. $ sudo sysctl net.core.netdev_max_backlog=1200. $ sudo sysctl net.core.netdev_max_backlog.
sysctl lahko tudi trajno zapiše spremenljivke v konfiguracijsko datoteko. Če želite to doseči, uporabite -w
možnost in določite konfiguracijsko datoteko, ki ji bosta dodani spremenljivka in njena vrednost, v tem primeru je to /etc/sysctl.conf, privzeta konfiguracijska datoteka sysctl:
$ sudo sysctl -w net.core.netdev_max_backlog=1200 >> /etc/sysctl.conf.
Če želite datoteke trajno zapisati v po meri, določite lokacijo datoteke, kot sledi. Včasih lahko ne uspete ustvariti datoteke na določenih lokacijah, tudi če pokličete sysctl ukaz z uporabo ukaz sudo.
V takem primeru preklopite na korenski račun (če imate privilegije) in znova zaženite ukaz, kot je prikazano.
$ 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.
Lahko pa ustvarite novo konfiguracijsko datoteko v /etc/sysctl.d/ imenik, kot je prikazano:
$ sudo vim /etc/sysctl.d/10-test-settings.conf.
Nato dodajte parametre jedra, enega v vsako vrstico, kot je prikazano.
net.core.netdev_max_backlog = 1200. user.max_net_namespaces = 63067. vm.overcommit_memory = 0.
Nato shranite datoteko in jo zaprite. Če želite naložiti nastavitve iz datoteke po meri, ki ste jo pravkar ustvarili, uporabite -str
oz --obremenitev
zastava.
$ sudo sysctl -p /etc/sysctl.d/10-test-settings.conf. ALI $ sudo sysctl --load= /etc/sysctl.d/10-test-settings.conf.
Če želite znova naložiti nastavitve iz vseh sistemskih konfiguracijskih datotek brez ponovnega zagona, izdajte naslednji ukaz.
$ sudo sysctl --sistem.
Zgornji ukaz bo prebral vse sistemske konfiguracijske datoteke iz teh imenikov v tem vrstnem redu:
/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.
Prav tako lahko znova naložite spremenljive nastavitve iz konfiguracijske datoteke sysctl po meri, kot je prikazano.
$ sudo sysctl -p/etc/sysctl.d/10-test-settings.conf. ALI $ sudo sysctl --load= /etc/sysctl.d/10-test-settings.conf.
Če želite uporabiti samo nastavitve, ki se ujemajo z določenim vzorcem, uporabite -r
oz -- vzorec
kot sledi. Upoštevajte, da vzorec uporablja sintakso razširjenega regularnega izraza, tukaj je nekaj primerov:
$ sudo sysctl --system --pattern '^net.ipv6' $ sudo sysctl --system -r pomnilnik.
V tem priročniku smo razložili 10 sysctl primeri ukazov, ki jih lahko uporabite za upravljanje delujočega sistema Linux. Za več informacij preberite sysctl man stran (man sysctl).