proc_sys_kernel(5) File Formats Manual proc_sys_kernel(5)

/proc/sys/kernel/ - kontroluje wiele parametrów jądra

/proc/sys/kernel/
Katalog zawiera pliki kontrolujące wiele parametrów jądra, jak opisano poniżej.
/proc/sys/kernel/acct
Plik zawiera trzy liczby: highwater, lowwater i frequency. Gdy włączone jest rejestrowanie procesów w stylu BSD, wartości te sterują jego zachowaniem. Gdy ilość wolnego miejsca w systemie plików, na którym znajdują się logi, spada poniżej wyrażonej w procentach wartości lowwater, rejestrowanie jest wstrzymywane. Gdy ilość wolnego miejsca stanie się większa niż wyrażona w procentach wartość highwater, rejestrowanie jest wznawiane. frequency określa, jak często jądro będzie sprawdzać ilość wolnego miejsca (wartość w sekundach). Wartościami domyślnymi są 4, 2 i 30. Oznacza to, że rejestrowanie procesów jest wstrzymywane, gdy ilość wolnego miejsca będzie wynosiła 2% lub mniej; wznowione zostanie, gdy wolne będzie 4% lub więcej; zakłada się, że informacja o ilości wolnego miejsca jest ważna 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 był używany do kontroli przeliczania wartości w /proc/sys/kernel/msgmni przy dodawaniu lub usuwaniu pamięci, albo przy utworzeniu/usunięciu przestrzeni nazw IPC. Wpisanie „1” do tego pliku włączało automatyczne przeliczanie msgmni (i wyzwalało przeliczanie msgmni w oparciu o bieżącą ilość dostępnej pamięci i liczby przestrzeni nazw IPC). Wpisanie „0” wyłączało automatyczne przeliczanie (automatyczne przeliczanie było również wyłączane, jeśli wartość była jawnie przypisywana do /proc/sys/kernel/msgmni). Domyślną wartością w auto_msgmni było 1.
Od Linuksa 3.19, zawartość tego pliku nie ma znaczenia (ponieważ msgmni domyślnie ustawia się na wartość bliską maksymalnej), a odczyt z tego pliku zawsze zwraca wartość „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 wartość zbioru przywilejów ograniczających dla jądra (wyrażone jako liczba dziesiętna ze znakiem). Wartość ta jest mnożona (AND) bitowo z przywilejaami dozwolonymi dla procesu podczas execve(2). Poczynając od Linuksa 2.6.25 ogólnosystemowy zbiór przywilejów ograniczających został usunięty i zastąpiony zbiorem ograniczającym na wątek, 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 obsługą kombinacji klawiszy Ctrl-Alt-Del. Gdy w pliku tym znajduje się wartość 0, Ctrl-Alt-Del jest przechwytywane i przesyłane do programu init(1) w celu wykonania wdzięcznego restartu. Gdy wartość jest większa od 0, reakcją Linuksa na Wulkanicznie Nerwowe Nękanie (Vulcan Nerve Pinch™) będzie natychmiastowy restart, nawet bez zrzucenia zmodyfikowanych buforów. Uwaga: gdy program (jak np. dosemu) korzysta z „surowego” trybu klawiatury, Ctrl-Alt-Del jest przechwytywane przez program, zanim dotrze do warstwy terminalowej jądra i decyzja, co z tym zrobić, zależy od programu.
/proc/sys/kernel/dmesg_restrict (od Linuksa 2.6.37)
Wartość pliku określa użytkowników z dostępem do zawartości dziennika jądra (syslog). Wartość 0 nie nakłada żadnych ograniczeń. Wartość 1 zawęża dostęp do użytkowników uprzywilejowanych (zob. syslog(2)). Od Linuksa 3.4 tylko użytkownicy z przywilejem CAP_SYS_ADMIN mogą zmienić wartość w tym pliku.
/proc/sys/kernel/domainname i /proc/sys/kernel/hostname
Te pliki mogą służyć do ustawiania nazwy domeny i hosta NIS/YP maszyny dokładnie w ten sam sposób, jak za pomocą poleceń 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'

Należy tu zauważyć, że klasyczny darkstar.frop.org posiada nazwę stacji „darkstar” i domenę „frop.org” w DNS (Internetowej Usłudze Nazw Domen - Internet Domain Name Service), których nie należy mylić z domeną NIS (Sieciowej Usługi Informacyjnej - Network Information Service) lub YP (Yellow Pages). Te dwa systemy nazw domenowych zasadniczo się różnią. Szczegółowe informacje można znaleźć na stronie podręcznika hostname(1).
/proc/sys/kernel/hotplug
Plik ten zawiera ścieżkę do programu hotplug. Domyślną wartością w tym pliku jest /sbin/hotplug.
/proc/sys/kernel/htab-reclaim (przed Linuksem 2.4.9.2)
(Tylko PowerPC) Jeśli do tego pliku zostanie wpisana wartość niezerowa, htab PowerPC (zobacz: plik Documentation/powerpc/ppc_htab.txt w źródłach jądra) jest czyszczony za każdym razem, gdy system natrafi na pętlę oczekiwania („idle”).
/proc/sys/kernel/keys/
Katalog ten zawiera różne pliki definiujące parametry i limity dla struktury zarządzania kluczami. Pliki te opisano w podręczniku keyrings(7).
/proc/sys/kernel/kptr_restrict (od Linuksa 2.6.38)
Wartość określa czy adresy jądra są pokazywane za pomocą interfejsu /proc i innych. Wartość 0 oznacza brak ograniczeń. Gdy użyto 1, to wskaźniki jądra wypisane za pomocą formatu %pK zostaną zastąpione zerami, chyba że użytkownik ma przywilej CAP_SYSLOG. Przy wartości 2 wskaźniki jądra wypisane za pomocą %pK zostaną zawsze zastąpione zerami, niezależnie od przywilejów jakie posiada. Początkowo domyślna wartość wynosiła 1, lecz zastąpiono ją 0 w jądrze Linux 2.6.39. Od Linuksa 3.4 tylko użytkownicy z przywilejem CAP_SYS_ADMIN mogą zmieniać wartość w tym pliku.
/proc/sys/kernel/l2cr
(Tylko PowerPC) Plik zawiera znacznik sterujący cache'em L2 płyt procesora G3. Jeśli zawiera 0, cache jest wyłączony. Cache jest włączony, gdy plik zawiera wartość różną od zera.
/proc/sys/kernel/modprobe
Plik zawiera ścieżkę do programu ładującego moduły jądra. Domyślną wartością jest /sbin/modprobe. Plik jest obecny tylko, jeśli jądro zostało zbudowane z włączoną opcją CONFIG_MODULES (CONFIG_KMOD w Linuksie 2.6.26 i wcześniejszych). Jest on opisany w pliku źródeł jądra Linux Documentation/kmod.txt (obecnym tylko w Linuksie 2.4 i wcześniejszych).
/proc/sys/kernel/modules_disabled (od Linuksa 2.6.31)
Przełącznik wskazujący czy moduły mogą być ładowane do modularnego jądra. Domyślna wartość wynosi off (0), lecz można ustawić także true (1), która spowoduje brak możliwości ładowania i wyładowania modułów. W takim przypadku nie da się ustawić przełącznika z powrotem na fałsz (false). Plik jest obecny tylko w jądrach zbudowanych z włączoną opcją CONFIG_MODULES.
/proc/sys/kernel/msgmax (od Linuksa 2.2)
Zawiera ogólnosystemowe ograniczenie maksymalnej liczby bajtów w pojedynczym komunikacie zapisywanym do kolejki komunikatów Systemu V.
/proc/sys/kernel/msgmni (od Linuksa 2.4)
Określa ogólnosystemowe ograniczenie liczby identyfikatorów kolejek komunikatów. Zob. również /proc/sys/kernel/auto_msgmni.
/proc/sys/kernel/msgmnb (od Linuksa 2.2)
Zawiera ogólnosystemowy parametr służący do inicjacji ustawienia msg_qbytes tworzonych później kolejek komunikatów. Ustawienie msg_qbytes określa maksymalną liczbę bajtów, które mogą zostać zapisane do kolejki komunikatów.
/proc/sys/kernel/ngroups_max (od Linuksa 2.6.4)
Jest to plik tylko do odczytu, który wyświetla górny limit liczby członków 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 zawierają poszczególne części z /proc/version.
/proc/sys/kernel/overflowgid i /proc/sys/kernel/overflowuid
Pliki te są kopiami plików /proc/sys/fs/overflowgid i /proc/sys/fs/overflowuid.
/proc/sys/kernel/panic
Plik umożliwia dostęp (odczyt i zapis) do zmiennej jądra panic_timeout. Jeśli jest to zero, jądro będzie się zapętlać podczas paniki; jeśli wartość niezerowa, to określa liczbę sekund, po której jądro powinno się automatycznie przeładować. Jeśli używany jest software watchdog to zalecaną wartością jest 60.
/proc/sys/kernel/panic_on_oops (od Linuksa 2.5.68)
Plik ten kontroluje zachowanie jądra, kiedy wystąpi oops lub BŁĄD. Jeśli ten plik zawiera 0, to system próbuje kontynuować operację. Jeśli zawiera 1, to system czeka parę sekund (aby dać procesowi klogd czas na zapisanie wyjścia z oops), a następnie panikuje. Jeżeli wartość w pliku /proc/sys/kernel/panic również jest niezerowa, to nastąpi restart komputera.
/proc/sys/kernel/pid_max (od Linuksa 2.5.34)
Ten plik określa wartość po której nastąpi przewinięcie licznika PID (tj. wartość w tym pliku jest o 1 większa niż maksymalny PID). PID-y większe niż ta wartość nie są alokowane, z tego powodu wartość z tego pliku działa również jako systemowy limit całkowitej liczby procesów i wątków. Domyślna wartość tego pliku, czyli 32768, określa taki sam zakres wartości PID, jak wcześniejsze wersje jądra. Dla platform 32-bitowych 32768 jest maksymalną wartością, jaką może przyjmować pid_max. W systemach 64-bitowych pid_max może zostać ustawiony na dowolną wartość, aż do 2^22 (PID_MAX_LIMIT, około 4 milionów).
/proc/sys/kernel/powersave-nap (tylko PowerPC)
Plik zawiera znacznik. Gdy jest on ustawiony, Linux-PPC używa trybu oszczędzania 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 związane z liczbą pseudoterminali UNIX 98 (patrz pts(4)) w systemie.
/proc/sys/kernel/pty/max
Plik określa maksymalną liczbę pseudoterminali.
/proc/sys/kernel/pty/nr
Ten plik tylko do odczytu zawiera informację o liczbie obecnie używanych pseudoterminali.
/proc/sys/kernel/random/
Katalog ten zawiera różne parametry sterujące działaniem pliku /dev/random. Dalsze informacje można znaleźć w random(4).
/proc/sys/kernel/random/uuid (od Linuksa 2.4)
Każdy odczyt z tego pliku przeznaczonego tylko do odczytu zwraca losowo wygenerowany 128-bitowy UUID, jako łańcuch w standardowym formacie UUID.
/proc/sys/kernel/randomize_va_space (od Linuksa 2.6.12)
Wybiera politykę losowego rozmieszczania obszarów pamięci (ang. ASLR - adress space layout randomization) w systemie (na architekturach obsługujących ASLR). Obsługiwane są trzy wartości tego pliku:
0
Wyłącza ASLR. Jest to domyślne na architekturach nieobsługujących ASLR i gdy jądro jest uruchamiane z parametrem norandmaps.
1
Czyni przydzielanie stron VDSO, stosu i adresów mmap(2) losowym. Oznacza to między innymi, że biblioteki dzielone są ładowane pod losowy adres. Segment tekstowy plików wykonywalnych skonsolidowanych niezależnie od pozycji (PIE) będzie również ładowany pod losowy adres. Wartość ta jest domyślna, jeśli skonfigurowano jądro z CONFIG_COMPAT_BRK.
2
(od Linuksa 2.6.25) Obsługuje również losowość kopca (ang. heap). Jest to domyślne zachowanie, jeśli nie skonfigurowano jądra z opcją CONFIG_COMPAT_BRK.
/proc/sys/kernel/real-root-dev
Plik ten jest udokumentowany w pliku Documentation/admin-guide/initrd.rst w źródłach jądra Linux (lub Documentation/initrd.txt przed Linuksem 4.10).
/proc/sys/kernel/reboot-cmd (tylko Sparc)
Ten plik wydaje się stanowić mechanizm podawania argumentów SPARC-owej ładowarce systemu w ROM/Flash. Może przekazuje jej, co zrobić po restarcie?
/proc/sys/kernel/rtsig-max
(Do Linuksa 2.6.7 włącznie; patrz setrlimit(2)). Plik ten może służyć do sterowania maksymalną liczbą zgodnych z POSIX nieobsłużonych (w kolejkach) sygnałów czasu rzeczywistego w systemie.
/proc/sys/kernel/rtsig-nr
(Do Linuksa 2.6.7 włącznie). Plik ten podaje liczbę zgodnych z POSIX sygnałów czasu rzeczywistego oczekujących 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)
Jeśli plik zawiera wartość zero, to po fork(2), procesor jest przydzielany najpierw rodzicowi. Jeśli plik zawiera wartość niezerową, to procesor jest przydzielany najpierw potomkowi (oczywiście w systemie wieloprocesowym, rodzic i potomek mogą uzyskać dostęp do procesora jednocześnie).
/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 konfigurację seccomp. Więcej informacji w podręczniku seccomp(2).
/proc/sys/kernel/sem (od Linuksa 2.4)
Plik ten zawiera 4 liczby definiujące ograniczenia semaforów Systemu V. Są to w kolejności:
Maksymalna liczba semaforów w zestawie semaforów.
Ogólnosystemowe ograniczenie liczby semaforów we wszystkich zestawiach semaforów.
Maksymalna liczba operacji, które mogą zostać podane w wywołaniu semop(2).
Ogólnosystemowe ograniczenie maksymalnej liczby identyfikatorów semaforów.
/proc/sys/kernel/sg-big-buff
Plik ten zawiera rozmiar bufora niskopoziomowego urządzenia SCSI (sg). Nie można nim na razie sterować, ale można go zmienić podczas kompilacji poprzez edycję include/scsi/sg.h i zmianę wartości SG_BIG_BUFF. Jednakże nie ma żadnego powodu, aby to robić.
/proc/sys/kernel/shm_rmid_forced (od Linuksa 3.1)
Jeśli plik jest ustawiony na 1, to wszystkie segmenty pamięci dzielonej Systemu V zostaną oznaczone jako przeznaczone do zniszczenia po tym, jak liczba dołączonych procesów spadnie do zera. Innymi słowy nie da się wówczas utworzyć segmentów pamięci dzielonej, które istnieją niezależnie od dołączonych procesów.
Efekt jest taki, że shmctl(2) IPC_RMID jest wykonywane na wszystkich istniejących segmentach, jak również na segmentach tworzonych w przyszłości (dopóki plik nie zostanie zresetowany do 0). Proszę zauważyć, że istniejące segmenty nie dołączone do żadnego procesu zostaną natychmiast zniszczone, jeśli tylko plik ten jest ustawiony na 1. Ustawienie tej opcji zniszczy również segmenty utworzone, lecz nigdy niedołączone - przy zakończeniu procesu który utworzył dany segment za pomocą shmget(2).
Ustawienie tego pliku na 1 udostępnia sposób na sprawdzenie, że wszystkie segmenty pamięci współdzielonej Systemu V są liczone w odniesieniu do użycia zasobów i limitów zasobów. (zob. opis RLIMIT_AS w getrlimit(2)) do co najmniej jednego procesu).
Ustawienie tego pliku na 1 daje niestandardowe zachowanie, które może załamać istniejące aplikacje, dlatego domyślną wartością pliku jest 0. Wartość 1 może być używana tylko w przypadku dużej wiedzy na temat semantyki aplikacji używających pamięci współdzielonej Systemu V w danym systemie.
/proc/sys/kernel/shmall (od Linuksa 2.2)
Ten plik zawiera ogólnosystemowe ograniczenie całkowitej liczby stron pamięci wspólnej Systemu V.
/proc/sys/kernel/shmmax (od Linuksa 2.2)
Ten plik może służyć do odpytywania o aktualne ograniczenie maksymalnego rozmiaru tworzonego segmentu pamięci wspólnej (System V IPC) oraz do zmiany tego ograniczenia. Jądro wspiera obecnie segmenty pamięci wspólnej do 1 GB. Wartością domyślną jest SHMMAX.
/proc/sys/kernel/shmmni (od Linuksa 2.4)
Ten plik określa ogólnosystemową maksymalną liczbę segmentów pamięci wspólnej Systemu V, które można utworzyć.
/proc/sys/kernel/sysctl_writes_strict (od Linuksa 3.16)
Wartość w tym pliku określa jak przesunięcia pliku wpływają na zachowanie aktualizacji wpisów w plikach pod /proc/sys. Plik może przyjąć trzy wartości:
-1
Zapewniona jest kompatybilna obsługa, bez ostrzeżeń printk. Każdy write(2) musi zawierać pełną wartość do zapisu i każdy zapis na tym samym deskryptorze pliku nadpisze całą wartość, bez względu na pozycję pliku.
0
(domyślne) Zapewnia zachowanie podobne jak przy -1, lecz dla procesów które przeprowadzają zapis przy przesunięciu pliku różnym od 0 zapisywane są ostrzeżenia printk.
1
Zachowuje przesunięcie pliku przy zapisie łańcuchów do plików /proc/sys. Wiele zapisów nadpisze wartość bufora. Wszystko co zostanie zapisane pod maksymalną długość bufora wartości zostanie zignorowane. Zapis do numerycznych wpisów /proc/sys musi zawsze następować przy przesunięciu 0, a wartość musi być w pełni zawarta w buforze przekazanym do write(2).
/proc/sys/kernel/sysrq
Plik kontroluje dozwolone funkcje, które są wywoływane przy użyciu klawisza SysRq. Domyślnie, plik zawiera 1, oznaczające że dozwolona jest każde możliwe żądanie SysRq (w starszych wersjach jądra, SysRq było domyślnie wyłączone i konieczne było włączenie go w czasie uruchomienia, jednak ta sytuacja już nie występuje). Dozwolone wartości w pliku:
0
Zupełnie wyłącza sysrq
1
Włącza wszystkie funkcje sysrq
> 1
Maska bitowa dozwolonych funkcji sysrq, jak poniżej:
  2
Włącza kontrolę poziomu logów konsoli
  4
Włącza kontrolę klawiatury (SAK, unraw)
  8
Włącza debugowanie zrzutów procesów itp.
 16
Włącza polecenie sync
 32
Włącza przejście systemu plików w tryb tylko do odczytu
 64
Włącza wysyłanie sygnałów do procesów (term, kill, oom-kill)
128
Włącza ponowne uruchomienie/wyłączenie komputera
256
Pozwala na ustawianie nice wszystkich zadań czasu rzeczywistego
Ten plik istnieje tylko jeśli podczas kompilacji jądra włączono opcję CONFIG_MAGIC_SYSRQ. Aby dowiedzieć się więcej, proszę zapoznać się z plikiem Documentation/admin-guide/sysrq.rst w źródłach jądra 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, że jest to piąte z kolei jądro zbudowane z tych samych źródeł, a następująca dalej data określa, kiedy jądro zostało zbudowane.
/proc/sys/kernel/threads-max (od Linuksa 2.3.11)
Ten plik określa ogólnosystemowe ograniczenie całkowitej liczby wątków (zadań), jakie mogą zostać utworzone w systemie.
Od Linuksa 4.1, wartość którą można zapisać do threads-max jest ograniczona. Minimalna wartość którą można wpisać to 20. Maksymalna jest dana przez stałą FUTEX_TID_MASK (0x3fffffff). Jeśli do threads-max wpisze się wartość spoza tego zakresu wystąpi błąd EINVAL.
Zapisana wartość jest sprawdzana w odniesieniu do dostępnych stron RAM. Jeśli struktury wątku zajęłyby zbyt dużo (więcej niż 1/8) dostępnych 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 wstępnie zeruje strony w pętli bezczynności. Prawdopodobnie przyspiesza to get_free_pages.

proc(5), proc_sys(5)

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.9.1