proc_sys_kernel(5) File Formats Manual proc_sys_kernel(5) NAZWA /proc/sys/kernel/ - kontroluje wiele parametrow jadra OPIS /proc/sys/kernel/ Katalog zawiera pliki kontrolujace wiele parametrow jadra, jak opisano ponizej. /proc/sys/kernel/acct Plik zawiera trzy liczby: highwater, lowwater i frequency. Gdy wlaczone jest rejestrowanie procesow w stylu BSD, wartosci te steruja jego zachowaniem. Gdy ilosc wolnego miejsca w systemie plikow, na ktorym znajduja sie logi, spada ponizej wyrazonej w procentach wartosci lowwater, rejestrowanie jest wstrzymywane. Gdy ilosc wolnego miejsca stanie sie wieksza niz wyrazona w procentach wartosc highwater, rejestrowanie jest wznawiane. frequency okresla, jak czesto jadro bedzie sprawdzac ilosc wolnego miejsca (wartosc w sekundach). Wartosciami domyslnymi sa 4, 2 i 30. Oznacza to, ze rejestrowanie procesow jest wstrzymywane, gdy ilosc wolnego miejsca bedzie wynosila 2% lub mniej; wznowione zostanie, gdy wolne bedzie 4% lub wiecej; zaklada sie, ze informacja o ilosci wolnego miejsca jest wazna przez 30 sekund. /proc/sys/kernel/auto_msgmni (Linux 2.6.27 do Linuksa 3.18) Od Linuksa 2.6.27 do Linuksa 3.18, plik ten byl uzywany do kontroli przeliczania wartosci w /proc/sys/kernel/msgmni przy dodawaniu lub usuwaniu pamieci, albo przy utworzeniu/usunieciu przestrzeni nazw IPC. Wpisanie ,,1" do tego pliku wlaczalo automatyczne przeliczanie msgmni (i wyzwalalo przeliczanie msgmni w oparciu o biezaca ilosc dostepnej pamieci i liczby przestrzeni nazw IPC). Wpisanie ,,0" wylaczalo automatyczne przeliczanie (automatyczne przeliczanie bylo rowniez wylaczane, jesli wartosc byla jawnie przypisywana do /proc/sys/kernel/msgmni). Domyslna wartoscia w auto_msgmni bylo 1. Od Linuksa 3.19, zawartosc tego pliku nie ma znaczenia (poniewaz msgmni domyslnie ustawia sie na wartosc bliska maksymalnej), a odczyt z tego pliku zawsze zwraca wartosc ,,0". /proc/sys/kernel/cap_last_cap (od Linuksa 3.2) Patrz capabilities(7). /proc/sys/kernel/cap-bound (od Linuksa 2.2 do Linuksa 2.6.24) Plik przechowuje wartosc zbioru przywilejow ograniczajacych dla jadra (wyrazone jako liczba dziesietna ze znakiem). Wartosc ta jest mnozona (AND) bitowo z przywilejaami dozwolonymi dla procesu podczas execve(2). Poczynajac od Linuksa 2.6.25 ogolnosystemowy zbior przywilejow ograniczajacych zostal usuniety i zastapiony zbiorem ograniczajacym na watek, patrz capabilities(7). /proc/sys/kernel/core_pattern Patrz core(5). /proc/sys/kernel/core_pipe_limit Patrz core(5). /proc/sys/kernel/core_uses_pid Patrz core(5). /proc/sys/kernel/ctrl-alt-del Ten plik steruje obsluga kombinacji klawiszy Ctrl-Alt-Del. Gdy w pliku tym znajduje sie wartosc 0, Ctrl-Alt-Del jest przechwytywane i przesylane do programu init(1) w celu wykonania wdziecznego restartu. Gdy wartosc jest wieksza od 0, reakcja Linuksa na Wulkanicznie Nerwowe Nekanie (Vulcan Nerve Pinchtm) bedzie natychmiastowy restart, nawet bez zrzucenia zmodyfikowanych buforow. Uwaga: gdy program (jak np. dosemu) korzysta z ,,surowego" trybu klawiatury, Ctrl-Alt-Del jest przechwytywane przez program, zanim dotrze do warstwy terminalowej jadra i decyzja, co z tym zrobic, zalezy od programu. /proc/sys/kernel/dmesg_restrict (od Linuksa 2.6.37) Wartosc pliku okresla uzytkownikow z dostepem do zawartosci dziennika jadra (syslog). Wartosc 0 nie naklada zadnych ograniczen. Wartosc 1 zaweza dostep do uzytkownikow uprzywilejowanych (zob. syslog(2)). Od Linuksa 3.4 tylko uzytkownicy z przywilejem CAP_SYS_ADMIN moga zmienic wartosc w tym pliku. /proc/sys/kernel/domainname i /proc/sys/kernel/hostname Te pliki moga sluzyc do ustawiania nazwy domeny i hosta NIS/YP maszyny dokladnie w ten sam sposob, jak za pomoca polecen domainname(1) i hostname(1), np.: # echo 'darkstar' > /proc/sys/kernel/hostname # echo 'mydomain' > /proc/sys/kernel/domainname daje taki sam efekt, jak # hostname 'darkstar' # domainname 'mydomain' Nalezy tu zauwazyc, ze klasyczny darkstar.frop.org posiada nazwe stacji ,,darkstar" i domene ,,frop.org" w DNS (Internetowej Usludze Nazw Domen - Internet Domain Name Service), ktorych nie nalezy mylic z domena NIS (Sieciowej Uslugi Informacyjnej - Network Information Service) lub YP (Yellow Pages). Te dwa systemy nazw domenowych zasadniczo sie roznia. Szczegolowe informacje mozna znalezc na stronie podrecznika hostname(1). /proc/sys/kernel/hotplug Plik ten zawiera sciezke do programu hotplug. Domyslna wartoscia w tym pliku jest /sbin/hotplug. /proc/sys/kernel/htab-reclaim (przed Linuksem 2.4.9.2) (Tylko PowerPC) Jesli do tego pliku zostanie wpisana wartosc niezerowa, htab PowerPC (zobacz: plik Documentation/powerpc/ppc_htab.txt w zrodlach jadra) jest czyszczony za kazdym razem, gdy system natrafi na petle oczekiwania (,,idle"). /proc/sys/kernel/keys/ Katalog ten zawiera rozne pliki definiujace parametry i limity dla struktury zarzadzania kluczami. Pliki te opisano w podreczniku keyrings(7). /proc/sys/kernel/kptr_restrict (od Linuksa 2.6.38) Wartosc okresla czy adresy jadra sa pokazywane za pomoca interfejsu /proc i innych. Wartosc 0 oznacza brak ograniczen. Gdy uzyto 1, to wskazniki jadra wypisane za pomoca formatu %pK zostana zastapione zerami, chyba ze uzytkownik ma przywilej CAP_SYSLOG. Przy wartosci 2 wskazniki jadra wypisane za pomoca %pK zostana zawsze zastapione zerami, niezaleznie od przywilejow jakie posiada. Poczatkowo domyslna wartosc wynosila 1, lecz zastapiono ja 0 w jadrze Linux 2.6.39. Od Linuksa 3.4 tylko uzytkownicy z przywilejem CAP_SYS_ADMIN moga zmieniac wartosc w tym pliku. /proc/sys/kernel/l2cr (Tylko PowerPC) Plik zawiera znacznik sterujacy cache'em L2 plyt procesora G3. Jesli zawiera 0, cache jest wylaczony. Cache jest wlaczony, gdy plik zawiera wartosc rozna od zera. /proc/sys/kernel/modprobe Plik zawiera sciezke do programu ladujacego moduly jadra. Domyslna wartoscia jest /sbin/modprobe. Plik jest obecny tylko, jesli jadro zostalo zbudowane z wlaczona opcja CONFIG_MODULES (CONFIG_KMOD w Linuksie 2.6.26 i wczesniejszych). Jest on opisany w pliku zrodel jadra Linux Documentation/kmod.txt (obecnym tylko w Linuksie 2.4 i wczesniejszych). /proc/sys/kernel/modules_disabled (od Linuksa 2.6.31) Przelacznik wskazujacy czy moduly moga byc ladowane do modularnego jadra. Domyslna wartosc wynosi off (0), lecz mozna ustawic takze true (1), ktora spowoduje brak mozliwosci ladowania i wyladowania modulow. W takim przypadku nie da sie ustawic przelacznika z powrotem na falsz (false). Plik jest obecny tylko w jadrach zbudowanych z wlaczona opcja CONFIG_MODULES. /proc/sys/kernel/msgmax (od Linuksa 2.2) Zawiera ogolnosystemowe ograniczenie maksymalnej liczby bajtow w pojedynczym komunikacie zapisywanym do kolejki komunikatow Systemu V. /proc/sys/kernel/msgmni (od Linuksa 2.4) Okresla ogolnosystemowe ograniczenie liczby identyfikatorow kolejek komunikatow. Zob. rowniez /proc/sys/kernel/auto_msgmni. /proc/sys/kernel/msgmnb (od Linuksa 2.2) Zawiera ogolnosystemowy parametr sluzacy do inicjacji ustawienia msg_qbytes tworzonych pozniej kolejek komunikatow. Ustawienie msg_qbytes okresla maksymalna liczbe bajtow, ktore moga zostac zapisane do kolejki komunikatow. /proc/sys/kernel/ngroups_max (od Linuksa 2.6.4) Jest to plik tylko do odczytu, ktory wyswietla gorny limit liczby czlonkow grupy procesu. /proc/sys/kernel/ns_last_pid (od Linuksa 3.3) Zob. pid_namespaces(7). /proc/sys/kernel/ostype i /proc/sys/kernel/osrelease Pliki te zawieraja poszczegolne czesci z /proc/version. /proc/sys/kernel/overflowgid i /proc/sys/kernel/overflowuid Pliki te sa kopiami plikow /proc/sys/fs/overflowgid i /proc/sys/fs/overflowuid. /proc/sys/kernel/panic Plik umozliwia dostep (odczyt i zapis) do zmiennej jadra panic_timeout. Jesli jest to zero, jadro bedzie sie zapetlac podczas paniki; jesli wartosc niezerowa, to okresla liczbe sekund, po ktorej jadro powinno sie automatycznie przeladowac. Jesli uzywany jest software watchdog to zalecana wartoscia jest 60. /proc/sys/kernel/panic_on_oops (od Linuksa 2.5.68) Plik ten kontroluje zachowanie jadra, kiedy wystapi oops lub BLAD. Jesli ten plik zawiera 0, to system probuje kontynuowac operacje. Jesli zawiera 1, to system czeka pare sekund (aby dac procesowi klogd czas na zapisanie wyjscia z oops), a nastepnie panikuje. Jezeli wartosc w pliku /proc/sys/kernel/panic rowniez jest niezerowa, to nastapi restart komputera. /proc/sys/kernel/pid_max (od Linuksa 2.5.34) Ten plik okresla wartosc po ktorej nastapi przewiniecie licznika PID (tj. wartosc w tym pliku jest o 1 wieksza niz maksymalny PID). PID-y wieksze niz ta wartosc nie sa alokowane, z tego powodu wartosc z tego pliku dziala rowniez jako systemowy limit calkowitej liczby procesow i watkow. Domyslna wartosc tego pliku, czyli 32768, okresla taki sam zakres wartosci PID, jak wczesniejsze wersje jadra. Dla platform 32-bitowych 32768 jest maksymalna wartoscia, jaka moze przyjmowac pid_max. W systemach 64-bitowych pid_max moze zostac ustawiony na dowolna wartosc, az do 2^22 (PID_MAX_LIMIT, okolo 4 milionow). /proc/sys/kernel/powersave-nap (tylko PowerPC) Plik zawiera znacznik. Gdy jest on ustawiony, Linux-PPC uzywa trybu oszczedzania energii ,,nap", a w przeciwnym przypadku trybu ,,doze". /proc/sys/kernel/printk Patrz syslog(2). /proc/sys/kernel/pty (od Linuksa 2.6.4) Ten katalog zawiera dwa pliki zwiazane z liczba pseudoterminali UNIX 98 (patrz pts(4)) w systemie. /proc/sys/kernel/pty/max Plik okresla maksymalna liczbe pseudoterminali. /proc/sys/kernel/pty/nr Ten plik tylko do odczytu zawiera informacje o liczbie obecnie uzywanych pseudoterminali. /proc/sys/kernel/random/ Katalog ten zawiera rozne parametry sterujace dzialaniem pliku /dev/random. Dalsze informacje mozna znalezc w random(4). /proc/sys/kernel/random/uuid (od Linuksa 2.4) Kazdy odczyt z tego pliku przeznaczonego tylko do odczytu zwraca losowo wygenerowany 128-bitowy UUID, jako lancuch w standardowym formacie UUID. /proc/sys/kernel/randomize_va_space (od Linuksa 2.6.12) Wybiera polityke losowego rozmieszczania obszarow pamieci (ang. ASLR - adress space layout randomization) w systemie (na architekturach obslugujacych ASLR). Obslugiwane sa trzy wartosci tego pliku: 0 Wylacza ASLR. Jest to domyslne na architekturach nieobslugujacych ASLR i gdy jadro jest uruchamiane z parametrem norandmaps. 1 Czyni przydzielanie stron VDSO, stosu i adresow mmap(2) losowym. Oznacza to miedzy innymi, ze biblioteki dzielone sa ladowane pod losowy adres. Segment tekstowy plikow wykonywalnych skonsolidowanych niezaleznie od pozycji (PIE) bedzie rowniez ladowany pod losowy adres. Wartosc ta jest domyslna, jesli skonfigurowano jadro z CONFIG_COMPAT_BRK. 2 (od Linuksa 2.6.25) Obsluguje rowniez losowosc kopca (ang. heap). Jest to domyslne zachowanie, jesli nie skonfigurowano jadra z opcja CONFIG_COMPAT_BRK. /proc/sys/kernel/real-root-dev Plik ten jest udokumentowany w pliku Documentation/admin-guide/initrd.rst w zrodlach jadra Linux (lub Documentation/initrd.txt przed Linuksem 4.10). /proc/sys/kernel/reboot-cmd (tylko Sparc) Ten plik wydaje sie stanowic mechanizm podawania argumentow SPARC-owej ladowarce systemu w ROM/Flash. Moze przekazuje jej, co zrobic po restarcie? /proc/sys/kernel/rtsig-max (Do Linuksa 2.6.7 wlacznie; patrz setrlimit(2)). Plik ten moze sluzyc do sterowania maksymalna liczba zgodnych z POSIX nieobsluzonych (w kolejkach) sygnalow czasu rzeczywistego w systemie. /proc/sys/kernel/rtsig-nr (Do Linuksa 2.6.7 wlacznie). Plik ten podaje liczbe zgodnych z POSIX sygnalow czasu rzeczywistego oczekujacych obecnie w kolejce. /proc/pid/sched_autogroup_enabled (od Linuksa 2.6.38) Patrz sched(7). /proc/sys/kernel/sched_child_runs_first (od Linuksa 2.6.23) Jesli plik zawiera wartosc zero, to po fork(2), procesor jest przydzielany najpierw rodzicowi. Jesli plik zawiera wartosc niezerowa, to procesor jest przydzielany najpierw potomkowi (oczywiscie w systemie wieloprocesowym, rodzic i potomek moga uzyskac dostep do procesora jednoczesnie). /proc/sys/kernel/sched_rr_timeslice_ms (od Linuksa 3.9) Patrz sched_rr_get_interval(2). /proc/sys/kernel/sched_rt_period_us (od Linuksa 2.6.25) Patrz sched(7). /proc/sys/kernel/sched_rt_runtime_us (od Linuksa 2.6.25) Patrz sched(7). /proc/sys/kernel/seccomp/ (od Linuksa 4.14) Katalog zapewnia dodatkowe informacje i konfiguracje seccomp. Wiecej informacji w podreczniku seccomp(2). /proc/sys/kernel/sem (od Linuksa 2.4) Plik ten zawiera 4 liczby definiujace ograniczenia semaforow Systemu V. Sa to w kolejnosci: SEMMSL Maksymalna liczba semaforow w zestawie semaforow. SEMMNS Ogolnosystemowe ograniczenie liczby semaforow we wszystkich zestawiach semaforow. SEMOPM Maksymalna liczba operacji, ktore moga zostac podane w wywolaniu semop(2). SEMMNI Ogolnosystemowe ograniczenie maksymalnej liczby identyfikatorow semaforow. /proc/sys/kernel/sg-big-buff Plik ten zawiera rozmiar bufora niskopoziomowego urzadzenia SCSI (sg). Nie mozna nim na razie sterowac, ale mozna go zmienic podczas kompilacji poprzez edycje include/scsi/sg.h i zmiane wartosci SG_BIG_BUFF. Jednakze nie ma zadnego powodu, aby to robic. /proc/sys/kernel/shm_rmid_forced (od Linuksa 3.1) Jesli plik jest ustawiony na 1, to wszystkie segmenty pamieci dzielonej Systemu V zostana oznaczone jako przeznaczone do zniszczenia po tym, jak liczba dolaczonych procesow spadnie do zera. Innymi slowy nie da sie wowczas utworzyc segmentow pamieci dzielonej, ktore istnieja niezaleznie od dolaczonych procesow. Efekt jest taki, ze shmctl(2) IPC_RMID jest wykonywane na wszystkich istniejacych segmentach, jak rowniez na segmentach tworzonych w przyszlosci (dopoki plik nie zostanie zresetowany do 0). Prosze zauwazyc, ze istniejace segmenty nie dolaczone do zadnego procesu zostana natychmiast zniszczone, jesli tylko plik ten jest ustawiony na 1. Ustawienie tej opcji zniszczy rowniez segmenty utworzone, lecz nigdy niedolaczone - przy zakonczeniu procesu ktory utworzyl dany segment za pomoca shmget(2). Ustawienie tego pliku na 1 udostepnia sposob na sprawdzenie, ze wszystkie segmenty pamieci wspoldzielonej Systemu V sa liczone w odniesieniu do uzycia zasobow i limitow zasobow. (zob. opis RLIMIT_AS w getrlimit(2)) do co najmniej jednego procesu). Ustawienie tego pliku na 1 daje niestandardowe zachowanie, ktore moze zalamac istniejace aplikacje, dlatego domyslna wartoscia pliku jest 0. Wartosc 1 moze byc uzywana tylko w przypadku duzej wiedzy na temat semantyki aplikacji uzywajacych pamieci wspoldzielonej Systemu V w danym systemie. /proc/sys/kernel/shmall (od Linuksa 2.2) Ten plik zawiera ogolnosystemowe ograniczenie calkowitej liczby stron pamieci wspolnej Systemu V. /proc/sys/kernel/shmmax (od Linuksa 2.2) Ten plik moze sluzyc do odpytywania o aktualne ograniczenie maksymalnego rozmiaru tworzonego segmentu pamieci wspolnej (System V IPC) oraz do zmiany tego ograniczenia. Jadro wspiera obecnie segmenty pamieci wspolnej do 1 GB. Wartoscia domyslna jest SHMMAX. /proc/sys/kernel/shmmni (od Linuksa 2.4) Ten plik okresla ogolnosystemowa maksymalna liczbe segmentow pamieci wspolnej Systemu V, ktore mozna utworzyc. /proc/sys/kernel/sysctl_writes_strict (od Linuksa 3.16) Wartosc w tym pliku okresla jak przesuniecia pliku wplywaja na zachowanie aktualizacji wpisow w plikach pod /proc/sys. Plik moze przyjac trzy wartosci: -1 Zapewniona jest kompatybilna obsluga, bez ostrzezen printk. Kazdy write(2) musi zawierac pelna wartosc do zapisu i kazdy zapis na tym samym deskryptorze pliku nadpisze cala wartosc, bez wzgledu na pozycje pliku. 0 (domyslne) Zapewnia zachowanie podobne jak przy -1, lecz dla procesow ktore przeprowadzaja zapis przy przesunieciu pliku roznym od 0 zapisywane sa ostrzezenia printk. 1 Zachowuje przesuniecie pliku przy zapisie lancuchow do plikow /proc/sys. Wiele zapisow nadpisze wartosc bufora. Wszystko co zostanie zapisane pod maksymalna dlugosc bufora wartosci zostanie zignorowane. Zapis do numerycznych wpisow /proc/sys musi zawsze nastepowac przy przesunieciu 0, a wartosc musi byc w pelni zawarta w buforze przekazanym do write(2). /proc/sys/kernel/sysrq Plik kontroluje dozwolone funkcje, ktore sa wywolywane przy uzyciu klawisza SysRq. Domyslnie, plik zawiera 1, oznaczajace ze dozwolona jest kazde mozliwe zadanie SysRq (w starszych wersjach jadra, SysRq bylo domyslnie wylaczone i konieczne bylo wlaczenie go w czasie uruchomienia, jednak ta sytuacja juz nie wystepuje). Dozwolone wartosci w pliku: 0 Zupelnie wylacza sysrq 1 Wlacza wszystkie funkcje sysrq > 1 Maska bitowa dozwolonych funkcji sysrq, jak ponizej: 2 Wlacza kontrole poziomu logow konsoli 4 Wlacza kontrole klawiatury (SAK, unraw) 8 Wlacza debugowanie zrzutow procesow itp. 16 Wlacza polecenie sync 32 Wlacza przejscie systemu plikow w tryb tylko do odczytu 64 Wlacza wysylanie sygnalow do procesow (term, kill, oom-kill) 128 Wlacza ponowne uruchomienie/wylaczenie komputera 256 Pozwala na ustawianie nice wszystkich zadan czasu rzeczywistego Ten plik istnieje tylko jesli podczas kompilacji jadra wlaczono opcje CONFIG_MAGIC_SYSRQ. Aby dowiedziec sie wiecej, prosze zapoznac sie z plikiem Documentation/admin-guide/sysrq.rst w zrodlach jadra Linux (lub Documentation/sysrq.txt przed Linuksem 4.10). /proc/sys/kernel/version Plik zawiera tekst np.: #5 Wed Feb 25 21:49:24 MET 1998 Gdzie'#5' oznacza, ze jest to piate z kolei jadro zbudowane z tych samych zrodel, a nastepujaca dalej data okresla, kiedy jadro zostalo zbudowane. /proc/sys/kernel/threads-max (od Linuksa 2.3.11) Ten plik okresla ogolnosystemowe ograniczenie calkowitej liczby watkow (zadan), jakie moga zostac utworzone w systemie. Od Linuksa 4.1, wartosc ktora mozna zapisac do threads-max jest ograniczona. Minimalna wartosc ktora mozna wpisac to 20. Maksymalna jest dana przez stala FUTEX_TID_MASK (0x3fffffff). Jesli do threads-max wpisze sie wartosc spoza tego zakresu wystapi blad EINVAL. Zapisana wartosc jest sprawdzana w odniesieniu do dostepnych stron RAM. Jesli struktury watku zajelyby zbyt duzo (wiecej niz 1/8) dostepnych stron RAM, threads-max zostanie odpowiednio zredukowana. /proc/sys/kernel/yama/ptrace_scope (od Linuksa 3.5) Zob. ptrace(2). /proc/sys/kernel/zero-paged (tylko PowerPC) Plik zawiera znacznik. Gdy jest on ustawiony (niezerowy), Linux-PPC wstepnie zeruje strony w petli bezczynnosci. Prawdopodobnie przyspiesza to get_free_pages. ZOBACZ TAKZE proc(5), proc_sys(5) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.9.1 2 maja 2024 r. proc_sys_kernel(5)