/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:
- SEMMSL
- Maksymalna liczba semaforów w zestawie semaforów.
- SEMMNS
- Ogólnosystemowe ograniczenie liczby semaforów we wszystkich
zestawiach semaforów.
- SEMOPM
- Maksymalna liczba operacji, które mogą zostać podane
w wywołaniu semop(2).
- SEMMNI
- 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.
Tłumaczenie niniejszej strony podręcznika: 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.