Rechercher une page de manuel

Chercher une autre page de manuel:

proc

Autres langues

Langue: pl

Version: 2005\-05\-12 (ubuntu - 16/08/07)

Section: 5 (Format de fichier)

NAZWA

proc - pseudosystem plików z informacjami o procesach

OPIS

proc jest pseudosystemem plików, który s³u¿y jako lepszy interfejs do struktur j±dra. Zazwyczaj jest montowany w katalogu /proc. Jest on w wiêkszo¶ci przeznaczony tylko do odczytu, lecz niektóre pliki umo¿liwiaj± modyfikacje zmiennych j±dra.

Nastêpuj±cy szkic ukazuje w szybki sposób hierarchiê /proc.

/proc/[numer]
Ka¿demu dzia³aj±cemu procesowi odpowiada katalog o numerycznej nazwie; nazw± t± jest identyfikator procesu. Ka¿dy z tych katalogów zawiera nastêpuj±ce pseudopliki i podkatalogi:
/proc/[numer]/cmdline
Zawiera pe³n± liniê polecenia wydanego przy uruchamianiu procesu, chyba ¿e ca³y proces uleg³ wymianie lub jest to proces-duch (zombie). W obu tych przypadkach plik bêdzie pusty, tzn. odczyt tego pliku zwróci zawsze 0 znaków. Argumenty linii poleceñ wystêpuj± w tym pliku rozdzielone znakami NUL, z dodatkowym znakiem NUL po ostatnim ³añcuchu.
/proc/[numer]/cwd
Jest dowi±zaniem do bie¿±cego katalogu roboczego procesu. Aby dowiedzieæ siê, jaki jest katalog roboczy procesu, na przyk³ad, 20, mo¿na wydaæ nastêpuj±ce polecenia:


cd /proc/20/cwd; /bin/pwd

Nale¿y zauwa¿yæ, ¿e polecenie pwd jest czêsto wbudowanym poleceniem pow³oki i mo¿e nie dzia³aæ w tym kontek¶cie w sposób w³a¶ciwy. W bashu mo¿na u¿yæ pwd -P.

W procesie wielow±tkowym zawarto¶æ tego linku symbolicznego nie jest dostêpna, je¿eli w±tek g³ówny ju¿ siê zakoñczy³ (najprawdopodobniej wywo³uj±c pthread_exit(3)).

/proc/[numer]/environ
Plik ten zawiera ¶rodowisko procesu. Wpisy s± oddzielone znakami NUL ('\0'), mog± tak¿e wyst±piæ znaki NUL na koñcu. Dlatego, aby wypisaæ zmienne ¶rodowiskowe procesu 1, nale¿y wykonaæ:


(cat /proc/1/environ; echo) | tr "\000" "\n"

(Aby dowiedzieæ siê, z jakiego powodu kto¶ mia³by chcieæ co¶ takiego zrobiæ, zobacz lilo(8).)

/proc/[numer]/exe
W Linuksie 2.2 i wersjach pó¼niejszych plik ten jest dowi±zaniem symbolicznym zawieraj±cym rzeczywist± nazwê ¶cie¿ki dzia³aj±cego polecenia. Dowi±zaniem symbolicznym mo¿na siê normalnie pos³ugiwaæ - próba jego otwarcia otworzy plik programu. Mo¿na nawet wydaæ polecenie /proc/[numer]/exe, aby uruchomiæ kolejn± kopiê tego samego procesu co [numer].W procesie wielow±tkowym zawarto¶æ tego linku symbolicznego nie jest dostêpna, je¿eli g³ówny w±tek ju¿ siê zakoñczy³ (wywo³uj±c zapewne pthread_exit(3)).

W Linuksie 2.0 i wcze¶niejszych wersjach, /proc/[numer]/exe jest wska¼nikiem do uruchomionego pliku binarnego i ma postaæ dowi±zania symbolicznego. Wywo³anie readlink(2) na tym pliku zwróci w Linuksie 2.0 ³añcuch znakowy postaci:

[urz±dzenie]:i-wêze³

Na przyk³ad, [0301]:1502 bêdzie 1502 i-wêz³em na urz±dzeniu o numerze g³ównym 03 (IDE, MFM itp.) i pobocznym 01 (pierwsza partycja pierwszego dysku).

Do zlokalizowania pliku, mo¿na pos³u¿yæ siê poleceniem find(1) z opcj± -inum.

/proc/[numer]/fd
Jest to podkatalog zawieraj±cy po jednym wpisie dla ka¿dego otwartego przez proces pliku; nazw± tego wpisu jest deskryptor pliku i jest on dowi±zaniem symbolicznym do rzeczywistego pliku. Dlatego 0 jest standardowym wej¶ciem, 1 jest standardowym wyj¶ciem, 2 jest standardow± diagnostyk±, itd.

W procesie wielow±tkowym zawarto¶æ tego katalogu nie jest dostêpna, je¿eli w±tek g³ówny ju¿ siê zakoñczy³ (zazwyczaj przez wywo³anie pthread_exit(3)).

Mo¿na to efektywnie wykorzystaæ do oszukania programów, które pobieraj± dane wej¶ciowe z pliku, lecz nie czytaj± swojego standardowego wej¶cia i które zapisuj± do pliku, lecz nie wysy³aj± danych wyj¶ciowych na standardowe wyj¶cie. Zak³adaj±c, ¿e opcja -i okre¶la plik wej¶ciowy, a opcja -o okre¶la plik wyj¶ciowy:

foobar -i /proc/self/fd/0 -o /proc/self/fd/1 ...

co daje dzia³aj±cy filtr.

/proc/self/fd/N jest w przybli¿eniu tym samym co /dev/fd/N na niektórych systemach uniksowych i uniksopodobnych. Wiêkszo¶æ linuksowych skryptów MAKEDEV tworzy dowi±zania symboliczne /dev/fd do /proc/self/fd.

/proc/[numer]/maps
Plik zawieraj±cy aktualnie zmapowane obszary pamiêci wraz z prawami dostêpu do nich.

Format pliku jest nastêpuj±cy:

address           perms offset   dev   inode      pathname
08048000-08056000 r-xp 00000000 03:0c 64593      /usr/sbin/gpm
08056000-08058000 rw-p 0000d000 03:0c 64593      /usr/sbin/gpm
08058000-0805b000 rwxp 00000000 00:00 0
40000000-40013000 r-xp 00000000 03:0c 4165       /lib/ld-2.2.4.so
40013000-40015000 rw-p 00012000 03:0c 4165       /lib/ld-2.2.4.so
4001f000-40135000 r-xp 00000000 03:0c 45494      /lib/libc-2.2.4.so
40135000-4013e000 rw-p 00115000 03:0c 45494      /lib/libc-2.2.4.so
4013e000-40142000 rw-p 00000000 00:00 0
bffff000-c0000000 rwxp 00000000 00:00 0

gdzie address jest przestrzeni± adresemow± procesu, który j± zajmuje, perms jest zbiorem uprawnieñ:

r = odczyt
w = zapis
x = wykonywanie
s = wspólne
p = prywatne (kopiowane przy zapisie)

offset jest przesuniêciem w pliku/czymkolwiek, dev zawiera numeru (g³ówny:poboczny) urz±dzenia, a inode jest i-wêz³em na tym urz±dzeniu. 0 wskazuje, ¿e nie istnieje i-wêze³ zwi±zany z tym obszarem pamiêci, jak to ma miejsce z bss.

W Linuksie 2.0 nie ma pola pathname podaj±cego nazwê ¶cie¿ki.

/proc/[numer]/mem
Za po¶rednictwem tego pliku mo¿na korzystaj±c z open(2), read(2) i fseek(3) uzyskaæ dostêp do stron pamiêci procesu.
/proc/[numer]/root
UNIX i Linux wspieraj± pomys³ okre¶lonego dla ka¿dego procesu osobno katalogu g³ównego systemu plików, ustawianego przez wywo³anie systemowe chroot(2). Plik ten wskazuje na katalog g³ówny systemu plików i zachowuje siê jak exe, fd/*, itp.

W procesie wielow±tkowym zawarto¶æ tego linku symbolicznego nie jest dostêpna, je¿eli w±tek g³ówny ju¿ siê zakoñczy³ (zazwyczaj przez wywo³anie pthread_exit(3)).

/proc/[numer]/smaps (od wersji Linuksa 2.6.14)
Plik ten pokazuje zu¿ycie pamiêci dla ka¿dego mapowania procesu. Dla ka¿dego takiego mapowania pokazana jest lista nastêpuj±cych linii:
08048000-080bc000 r-xp 00000000 03:02 13130      /bin/bash
Size:               464 kB
Rss:                424 kB
Shared_Clean:       424 kB
Shared_Dirty:         0 kB
Private_Clean:        0 kB
Private_Dirty:        0 kB
Pierwsza z tych linii pokazuje te same informacje o mapowaniach, co w /proc/[numer]/maps. Pozosta³e linie zawieraj± rozmiar mapowania, ilo¶æ mapowañ obecnych w RAM, liczbê czystych i brudnych stron wspó³dzielonych w mapowaniu oraz liczbê czystych i brudnych prywatnych stron w mapowaniu.

Ten plik istnieje tylko je¶li podczas kompilacji j±dra w³±czono opcjê CONFIG_MMU.

/proc/[numer]/stat
Informacje o stanie procesu. Korzysta z tego ps(1). S± one zdefiniowane w /usr/src/linux/fs/proc/array.c.

Kolejne pola i ich w³a¶ciwe specyfikatory formatu scanf(3) to:

pid %d
Identyfikator procesu (PID).
comm %s
Nazwa pliku wykonywalnego w nawiasach. Widaæ, czy plik jest uleg³ wymianie.
state %c
Jeden znak spo¶ród "RSDZTW", gdzie R oznacza proces dzia³aj±cy, S - proces u¶piony w oczekiwaniu przerywalnym, D - proces u¶piony w oczekiwaniu nieprzerywalnym, Z - proces duch (zombie), T - ¶ledzony lub zatrzymany (przez sygna³), a W - którego strony zast±piono.
ppid %d
PID procesu macierzystego.
pgrp %d
Identyfikator grupy procesów danego procesu.
session %d
Identyfikator sesji procesu.
tty_nr %d Terminal (tty), z którego proces korzysta.
tpgid %d
Identyfikator grupy procesów, do której nale¿y proces bêd±cy w³a¶cicielem terminala (tty), do którego dany proces jest pod³±czony.
flags %lu
S³owo flag j±dra dla danego procesu. Znaczenie poszczególnych bitów okre¶laj± definicje PF_* w pliku <linux/sched.h>. Szczegó³y zale¿± od wersji j±dra.
minflt %lu
Liczba drobnych b³êdów, które pope³ni³ proces, a które nie wymaga³y za³adowania strony pamiêci z dysku.
cminflt %lu
Liczba drobnych b³êdów procesów potomnych.
majflt %lu
Liczba g³ównych b³êdów, które pope³ni³ proces, a które wymaga³y za³adowania strony pamiêci z dysku.
cmajflt %lu
Liczba g³ównych b³êdów procesów potomnych.
utime %lu
Liczba jiffies (przerwañ zegarowych), podczas których proces by³ kolejkowany w trybie u¿ytkownika.
stime %lu
Liczba jiffies, podczas których proces by³ kolejkowany w trybie j±dra.
cutime %ld
Liczba jiffies, podczas których procesy potomne by³y kolejkowane w trybie u¿ytkownika. (Zobacz tak¿e times(2)).
cstime %ld
Liczba jiffies, podczas których procesy potomne by³y kolejkowane w trybie j±dra.
priority %ld
Standardowa warto¶æ nice plus piêtna¶cie. Warto¶æ w j±drze jest zawsze nieujemna.
nice %ld
Warto¶æ nice znajduje siê w zakresie od 19 (najmilszy) do -19 (niemi³y dla innych).
0 %ld Trwale przypisana warto¶æ 0; jest to wype³niacz po usuniêtym polu.
itrealvalue %ld
Czas w jiffies poprzedzaj±cy wys³anie przez czasomierz do procesu nastêpnego sygna³u SIGALRM.
starttime %lu
Czas uruchomienia procesu wyra¿ony w jiffies od uruchomienia systemu.
vsize %lu
Rozmiar pamiêci wirtualnej w bajtach.
rss %ld
Resident Set Size: liczba stron, które proces ma w rzeczywistej pamiêci minus 3 dla celów administracyjnych. S± to po prostu strony, które obejmuj± segment text, segment data i przestrzeñ stosu. Nie obejmuje to stron, które nie by³y ³adowane na ¿±danie lub które uleg³y wymianie.
rlim %lu
Aktualne ograniczenie rss procesu w bajtach (zwykle 4294967295 na i386).
startcode %lu
Adres, pod którym zaczyna siê kod programu.
endcode %lu
Adres, pod którym koñczy siê kod programu.
startstack %lu
Adres pocz±tku stosu.
kstkesp %lu
Aktualna warto¶æ esp (wska¼nika stosu), okre¶lona na podstawie strony stosu j±dra dla danego procesu.
kstkeip %lu
Aktualny EIP (wska¼nik instrukcji).
signal %lu
Mapa bitowa oczekuj±cych sygna³ów.
blocked %lu
Mapa bitowa ignorowanych sygna³ów.
sigignore %lu
Mapa bitowa ignorowanych sygna³ów.
sigcatch %lu
Mapa bitowa przechwyconych sygna³ów.
wchan %lu
Jest to "kana³", na którym oczekuje proces. Jest to adres funkcji systemowej i mo¿na go znale¼æ na li¶cie nazw, je¶li potrzebna jest nazwa tekstowa. (Gdy /etc/psdatabase jest aktualne, mo¿na zobaczyæ dzia³anie pola WCHAN, próbuj±æ ps -l.)
nswap %lu
Liczba stron, które uleg³y wymianie (nie konserwowane).
cnswap %lu
£±czna warto¶æ nswap dla procesów potomnych (nie konserwowane).
exit_signal %d
Sygna³ wysy³any przez gin±cy proces do jego procesu macierzystego.
processor %d
Numer CPU, na którym proces ostatnio dzia³a³.
rt_priority %lu (od j±dra 2.5.19)
Priorytet planowania czasu rzeczywistego (patrz sched_setscheduler(2)).
policy %lu (od wersji j±dra 2.5.19)
Polityka przydzielania zadaniom czasu procesora (patrz sched_setscheduler(2)).
/proc/[numer]/statm
Udostêpnia informacje o liczbie stron pamiêci w danym stanie. Wystêpuj± nastêpuj±ce kolumny:
 size       ³±czny rozmiar programu
 resident   rozmiar czê¶ci rezydentnej
 share      strony wspólne
 text        text (kod)
 lib        biblioteki
 data        dane/stos
 dt         strony nieaktualne (dirty; nieu¿ywane w Linuksie 2.6)
/proc/[numer]/status
Udostêpnia sporo informacji ze /proc/[numer]/stat i /proc/[numer]/statm w postaci ³atwiejszej do przeanalizowania przez cz³owieka.
/proc/[numer]/task (od wersji j±dra 2.6.0-test6)
Jest to katalog zawieraj±cy po jednym podkatalogu dla ka¿dego w±tku procesu. Nazw± ka¿dego podkatalogu jest numeryczne ID w±tku (patrz gettid(2)). Ka¿dy z podkatalogów zawiera zbiór plików o tej samej nazwie i zawarto¶ci, co katalogi /proc/[numer]. Dla atrybutów, które s± wspó³dzielone przez wszystkie w±tki zawarto¶æ ka¿dego z plików w podkatalogach task/[ID-w±tku] bêdzie taka sama jak zawarto¶æ odpowiednich plików w nadrzêdnym katalogu /proc/[numer] (np. w procesie wielow±tkowym wszystkie pliki task/[ID-w±tku/cwd bêd± mia³y tak± sam± zawarto¶æ, jak plik /proc/[numer]/cwd w katalogu nadrzêdnym, poniewa¿ wszystkie w±tki procesu dziel± katalog bie¿±cy). Dla atrybutów, które dla ka¿dego w±tku s± ró¿ne, odpowiednie pliki wtask/[ID-w±tku] mog± mieæ ró¿ne warto¶ci (np. ró¿ne pola w ka¿dym z plików task/[ID-w±tku]/status mog± byæ inne dla ka¿dego w±tku).

W procesie wielow±tkowym zawarto¶æ katalogu /proc/[numer]/task nie jest dostêpna, je¿eli w±tek g³ówny ju¿ siê zakoñczy³ (najprawdopodobniej wywo³uj±c pthread_exit(3)).

/proc/apm
Wersja APM (Zaawansowane zarz±dzanie energi±) oraz informacja o akumulatorach, gdy CONFIG_APM by³o zdefiniowane podczas kompilacji j±dra.
/proc/bus
Zawiera podkatalogi odpowiadaj±ce zainstalowanym magistralom.
/proc/bus/pccard
Podkatalog dla urz±dzeñ pcmcia, gdy CONFIG_PCMCIA by³o zdefiniowane podczas kompilacji j±dra.
/proc/bus/pccard/drivers
/proc/bus/pci
Zawiera ró¿ne podkatalogi magistral oraz pseudopliki zawieraj±ce informacje o magistralach PCI, zainstalowanych urz±dzeniach oraz sterownikach urz±dzeñ. Niektóre z tych plików nie s± w postaci ASCII.
/proc/bus/pci/devices
Informacje o urz±dzeniach PCI. Dostêp do nich mo¿e siê odbywaæ poprzez lspci(8) i setpci(8).
/proc/cmdline
Argumenty przekazane j±dru Linuksa podczas startu systemu. Zazwyczaj odbywa siê to poprzez zarz±dcê startu systemu, takiego jak lilo(1).
/proc/cpuinfo
Jest to zbiór elementów zale¿nych od CPU i architektury systemu; dla ka¿dej wspieranej architektury jest inna lista. Dwa popularne wpisy to: processor, który udostêpnia numer CPU oraz bogomips; jest to sta³a systemowa, wyliczona podczas inicjalizacji j±dra. Maszyny SMP zawieraj± informacje o ka¿dym z procesorów.
/proc/devices
Listing tekstowy numerów g³ównych oraz grup urz±dzeñ. Mo¿e to s³u¿yæ skryptom MAKEDEV do zachowania spójno¶ci z j±drem.
/proc/diskstats (od wersji Linuksa 2.5.69)
Plik zawiera statystyki operacji wej¶cia/wyj¶cia dla ka¿dego urz±dzenia dyskowego. Dalsze informacje mo¿na znale¼æ w pliku Documentation/iostats.txt w ¼ród³ach j±dra.
/proc/dma
Jest list± zarejestrowanych i u¿ywanych kana³ów DMA (direct memory access) szyny ISA.
/proc/driver
Pusty podkatalog.
/proc/execdomains
Lista domen uruchamiania (wcieleñ ABI [Application Binary Interface - przyp. t³um.]).
/proc/fb
Informacje o framebuferze, o ile podczas kompilacji j±dra zdefiniowano CONFIG_FB.
/proc/filesystems
Listing tekstowy wkompilowanych w j±dro systemów plików. Przypadkowo, informacje te s± wykorzystywane przez mount(1) do kolejnego próbowania ró¿nych systemów plików, gdy ¿adnego nie podano.
/proc/fs
Pusty podkatalog.
/proc/ide
Katalog ten istnieje w systemach zawieraj±cych magistralê IDE. Zawiera po jednym katalogu dla ka¿dego kana³u IDE oraz dla przy³±czonych urz±dzeñ. W¶ród plików s±:
cache              rozmiar bufora w KB
capacity           liczba sektorów
driver             wersja sterownika
geometry           geometria fizyczna i logiczna
identify           szesnastkowo
media              rodzaj no¶nika
model              numer modelu producenta
settings           ustawienia napêdu
smart_thresholds   szesnastkowo
smart_values       szesnastkowo

Dostêp do tych informacji w przyjaznym formacie umo¿liwia program narzêdziowy hdparm(8).

/proc/interrupts
S³u¿y do zapamiêtania liczby przerwañ dla ka¿dego IRQ w (przynajmniej) architekturze i386. £atwe do odczytu formatowanie, zrobione w ASCII.
/proc/iomem
Odwzorowanie portów we/wy w pamiêci w Linuksie 2.4.
/proc/ioports
Jest to lista obecnie zarejestrowanych i u¿ywanych obszarów portów we/wy.
/proc/kallsyms (od wersji Linuksa 2.5.71)
Zawiera wyeksportowane przez j±dro definicje symboli, które s± u¿ywane przez narzêdzia modules(X) do dynamicznego pod³±czania ³adowanych modu³ów. W wersji j±dra Linuksa 2.5.47 i wcze¶niejszych podobny plik z troszkê odmienn± zawarto¶ci± by³ nazwany ksyms.
/proc/kcore
Plik ten reprezentuje pamiêæ fizyczn± systemu i jest zachowany w formacie pliku core dla ELF. Korzystaj±c z tego pseudoplikiem oraz z niezestripowanego binarnego pliku j±dra (/usr/src/linux/vmlinux), mo¿na za pomoc± GDB testowaæ aktualny stan dowolnej struktury danych j±dra.

Ca³kowity rozmiar tego pliku to rozmiar fizycznej pamiêci (RAM) plus 4KB.

/proc/kmsg
Plik ten mo¿e s³u¿yæ do odczytu komunikatów j±dra, zamiast funkcji systemowej syslog(2). Aby odczytaæ ten plik, proces musi mieæ uprawnienia superu¿ytkownika i tylko jeden proces powinien dokonywaæ jego odczytu. Pliku tego nie nale¿y czytaæ, gdy dzia³a proces syslog, korzystaj±cy z funkcji systemowej syslog(2) do rejestrowania komunikatów j±dra.

Z tego pliku pobiera komunikaty program dmesg(8).

/proc/ksyms (Linux 1.1.23-2.5.47)
Patrz /proc/kallsyms.
/proc/loadavg
Pierwsze trzy pola w tym pliku zawieraj± ¶rednie obci±¿enie (loadavg) podaj±c informacjê o ¶redniej liczbie zadañ uruchomionych (stan R) oraz czekaj±cych na dyskowe operacje wej¶cia/wyj¶cia (stan D) w ci±gu ostatnich 1, 5 i 15 minut. S± to te same warto¶ci ¶redniego obci±¿enia, które podaje uptime(1) i inne programy. Czwarte pole zawiera dwie liczby oddzielone od siebie znakiem uko¶nika (/). Pierwsza z nich jest liczb± obecnie uruchomionych zadañ (procesów, w±tków); warto¶æ ta bêdzie mniejsza lub równa liczbie CPU. Warto¶æ za uko¶nikiem jest liczb± zadañ, obecnych w systemie. Pi±te pole zawiera PID najnowszego ostatnio utworzonego procesu w systemie.
/proc/locks
Plik ten pokazuje aktualne blokady plików (flock(2) i fcntl(2)) oraz dzier¿awy (fcntl(2)).
/proc/malloc
Ten plik istnieje tylko je¶li podczas kompilacji zdefiniowano CONFIGDEBUGMALLOC.
/proc/meminfo
Plik ten jest u¿ywany przez free(1) do informowania o rozmiarze wolnej i zajêtej pamiêci (zarówno fizycznej, jak i wymiany) w systemie, a tak¿e o pamiêci wspólnej i buforach u¿ywanych przez j±dro.

Jest on w tym samym formacie co free(1), poza tym, ¿e podawanie informacji odbywa siê w bajtach, a nie w KB.

/proc/mounts
Jest to lista wszystkich systemów plików obecnie zamontowanych w systemie. Format tego pliku jest udokumentowany w fstab(5). Od wersji 2.6.15 j±dra Linuksa, ten plik mo¿e byæ u¿yty w wywo³aniu funkcji poll(): po otwarciu tego pliku do odczytu, zmiana w nim (np. montowanie lub odmontowanie systemu plików) powoduje, ¿e select(2) oznaczy deskryptor jako mo¿liwy do odczytu, a poll(2) i epoll_wait(2) zaznacz±, ¿e w pliku wyst±pi³ b³±d.
/proc/modules
Tekstowa lista modu³ów, które za³adowano w systemie. Zobacz tak¿e lsmod(8).
/proc/mtrr
Memory Type Range Registers. Szczegó³y mo¿na znale¼æ w /usr/src/linux/Documentation/mtrr.txt.
/proc/net
Ró¿ne sieciowe pseudopliki, z których wszystkie podaj± stan pewnej czê¶ci warstwy sieciowej. Plik ten zawiera struktury ASCII i dlatego nadaje siê do odczytu za pomoc± cat. Jednak standardowy pakiet netstat(8) daje du¿o czystszy dostêp do tych plików.
/proc/net/arp
Zawiera zrzut tabeli ARP j±dra u¿ywanej do rozwi±zywania adresów, w czytelnej postaci ASCII. Pokazane zostan± zarówno wyuczone dynamicznie, jak i wstêpnie zaprogramowane wpisy w tabeli ARP. Format jest nastêpuj±cy:
IP address     HW type   Flags     HW address          Mask   Device
192.168.0.50   0x1       0x2       00:50:BF:25:68:F3   *      eth0
192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0

Gdzie 'IP address' jest adresem IPv4 maszyny, a 'HW type' jest rodzajem sprzêtu wg RFC 826. 'Flags' s± to wewnêtrzne znaczniki struktury ARP (zdefiniowane w /usr/include/linux/if_arp.h), a 'HW address' jest odwzorowaniem adresu IP w warstwie fizycznej, je¶li jest ono okre¶lone.

/proc/net/dev
Pseudoplik dev zawiera informacje o stanie urz±dzenia sieciowego. Zawieraj± one liczbê otrzymanych i wys³anych pakietów, liczbê b³êdów i kolizji oraz inne podstawowe statystyki. Informacje te s± wykorzystywane przez program ifconfig(8) do informowania o stanie urz±dzenia. Format jest nastêpuj±cy:
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo: 2776770   11307    0    0    0     0          0         0  2776770   11307    0    0    0     0       0          0
  eth0: 1215645    2751    0    0    0     0          0         0  1782404    4324    0    0    0   427       0          0
  ppp0: 1622270    5552    1    0    0     0          0         0   354130    5669    0    0    0     0       0          0
  tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0
/proc/net/dev_mcast
Zdefiniowany w /usr/src/linux/net/core/dev_mcast.c:
indx interface_name  dmi_u dmi_g dmi_address
2    eth0            1     0     01005e000001
3    eth1            1     0     01005e000001
4    eth2            1     0     01005e000001
/proc/net/igmp
Internetowy Protokó³ Zarz±dzania Grupami. Zdefiniowany w /usr/src/linux/net/core/igmp.c.
/proc/net/rarp
Plik ten ma ten sam format, co plik arp i zawiera aktualn± bazê odwrotnych odwzorowañ, u¿ywan± do udostêpniania us³ug odwrotnego poszukiwania adresów rarp(8). Je¶li RARP nie jest skonfigurowane w j±drze, to plik ten nie bêdzie istnia³.
/proc/net/raw
Zawiera zrzut tabeli gniazd surowych (RAW). Wiêkszo¶æ informacji nie jest przeznaczona do u¿ytku innego ni¿ odpluskwiania. Warto¶æ ,,sl'' jest slotem mieszania j±dra dla gniazda, ,,local address'' jest par± sk³adaj±c± siê z lokalnego adresu i numeru protoko³u. ,,st'' jest stanem wewnêtrznym gniazda. ,,tx_queue'' i ,,rx_queue'' s± kolejkami danych przychodz±cych i wychodz±cych, w sensie zu¿ycia pamiêci j±dra. Pola ,,tr'', ,,tm->when'' i ,,rexmits'' nie s± u¿ywane przez gniazda surowe. Pole ,,uid'' zawiera efektywny UID twórcy gniazda.
/proc/net/snmp
Ten plik zawiera dane ASCII potrzebne bazom agenta snmp zarz±dzaj±cym informacjami o IP, ICMP, TCP i UDP.
/proc/net/tcp
Zawiera zrzut tabeli gniazd TCP. Wiele informacji nie przydaje siê do u¿ytku poza odpluskwianiem. Warto¶æ "sl" jest slotem mieszania j±dra dla gniazda, "local address" jest par± sk³adaj±c± siê z lokalnego adresu i numeru portu. "remote addres" jest par± sk³adaj±c± siê ze zdalnego adresu i numeru portu (je¶li gniazdo jest pod³±czone). ,,st'' jest stanem wewnêtrznym gniazda. ,,tx_queue'' i ,,rx_queue'' s± kolejkami danych przychodz±cych i wychodz±cych w sensie zu¿ycia pamiêci j±dra. Pola ,,tr'', ,,tm-when'' i ,,rexmits'' zawieraj± wewnêtrzne informacje o stanie gniazda w j±drze i s± przydatne tylko do odpluskwiania. Pole ,,uid'' zawiera efektywny UID twórcy gniazda.
/proc/net/udp
Zawiera zrzut tabeli gniazd UDP. Wiele informacji nie przydaje siê do u¿ytku poza odpluskwianiem. Warto¶æ ,,sl'' jest slotem mieszania j±dra dla gniazda, ,,local address'' jest par± sk³adaj±c± siê z lokalnego adresu i numeru portu. ,,remote addres'' jest par± sk³adaj±c± siê ze zdalnego adresu i numeru portu (je¶li gniazdo jest pod³±czone). ,,st'' jest stanem wewnêtrznym gniazda. ,,tx_queue'' i ,,rx_queue'' s± kolejkami danych przychodz±cych i wychodz±cych w sensie zu¿ycia pamiêci j±dra. Pola ,,tr'', ,,tm-when'' i ,,rexmits'' nie s± u¿ywane w gniazdach UDP. Pole ,,uid'' zawiera efektywny UID twórcy gniazda. Format jest nastêpuj±cy:
sl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm->when uid
 1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
 1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
/proc/net/unix
Wymienia gniazda domeny UNIX, obecne w systemie oraz ich stan. Format jest nastêpuj±cy:
Num RefCount Protocol Flags    Type St Path
 0: 00000002 00000000 00000000 0001 03
 1: 00000001 00000000 00010000 0001 01 /dev/printer

Gdzie ,,Num'' jest numerem wpisu w tablicy j±dra, ,,RefCount'' jest liczb± u¿ytkowników gniazda, ,,Protocol'' obecnie jest zawsze zerem, ,,Flags'' reprezentuje wewnêtrzne znaczniki j±dra, okre¶laj±ce stan gniazda. ,,Type'' jest zawsze równe ,,1'' (Nie ma na razie w j±drze wsparcia dla gniazd datagramowych domeny UNIX). ,,St'' jest wewnêtrznym stanem gniazda, a ¶cie¿ka jest ¶cie¿k± (je¶li istnieje) zwi±zan± z gniazdem.

/proc/partitions
Zawiera liczby g³ówne i poboczne ka¿dej z partycji oraz liczby bloków i nazwy partycji.
/proc/pci
Listing wszystkich urz±dzeñ PCI znalezionych podczas inicjalizacji j±dra i ich konfiguracja.
/proc/scsi
Katalog z pseudoplikiem scsi na po¶rednim poziomie i ró¿nymi podkatalogami niskopoziomowych sterowników SCSI, zawieraj±cymi po jednym pliku dla ka¿dego kontrolera SCSI w danym systemie; ka¿dy z nich podaje stan jakiej¶ czê¶ci podsystemu we/wy SCSI. Pliki te zawieraj± struktury ASCII i dlatego nadaje siê do odczytu za pomoc± cat.

Mo¿liwy jest te¿ zapis do niektórych z tych plików, w celu rekonfiguracji podsystemu, lub prze³±czania ró¿nych parametrów.

/proc/scsi/scsi
Jest listingiem wszystkich znanych j±dru urz±dzeñ SCSI. Listing jest podobny do widzianego podczas ³adowania systemu. scsi wspiera obecnie tylko polecenie add-single-device umo¿liwiaj±ce rootowi dodanie do listy znanych urz±dzeñ urz±dzenia w³±czonego na gor±co.

Polecenie echo 'scsi add-single-device 1 0 5 0' > /proc/scsi/scsi spowoduje, ¿e kontroler scsi1 przeprowadzi skanowanie kana³u SCSI 0 w poszukiwaniu urz±dzenia o ID 5 i LUN 0. Je¶li ju¿ istnieje urz±dzenie o takim adresie, lub adres jest nieprawid³owy, zostanie zwrócony b³±d.

/proc/scsi/[drivername]
[drivername] mo¿e obecnie byæ jednym z: NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug, seagate, t128, u15-24f, ultrastore, or wd7000. Ukazuj± siê te z katalogów, dla których odpowiednie sterowniki zarejestrowa³y przynajmniej jeden kontroler SCSI. Ka¿dy katalog zawiera jeden plik dla ka¿dego zarejestrowanego kontrolera. Ka¿dy z plików kontrolera ma nazwê odpowiadaj±c± numerowi kontrolera, przyznanemu podczas jego inicjacji.

Czytanie tych plików zwykle poka¿e konfiguracjê sterownika i kontrolera, statystyki itp.

Pisanie do tych plików umo¿liwia ró¿ne operacje na ró¿nych kontrolerach. Na przyk³ad za pomoc± poleceñ latency i nolatency root mo¿e uaktywniaæ lub deaktywowaæ kod pomiaru czasu oczekiwania dla poleceñ (command latency) w sterowniku eata_dma. Za pomoc± poleceñ lockup i unlock root mo¿e sterowaæ symulowanym przez sterownik scsi_debug blokowaniem magistrali.

/proc/self
Ten katalog odnosi siê do procesu korzystaj±cego z systemu plików /proc i jest identyczny z katalogiem o nazwie bêd±cej jego PID-em.
/proc/slabinfo
Informacje dotycz±ce buforów (cache) j±dra. Wystêpuj± nastêpuj±ce kolumny:
cache-name
num-active-objs
total-objs
object-size
num-active-slabs
total-slabs
num-pages-per-slab
Szczegó³y mo¿na znale¼æ w slabinfo(5).
/proc/stat
statystyki j±dra/systemu. Ró¿ni± siê pomiêdzy architekturami. W¶ród wspólnych wpisów s±:
cpu 3357 0 4313 1362393
Ilo¶æ czasu, wyra¿ona w USER_HZ (jedna setna sekundy na wiêkszo¶ci architektur), które system spêdzi³ w trybie u¿ytkownika, trybie u¿ytkownika o obni¿onym priorytecie (nice), trybie systemowym i w zadaniu idle. Ostatnia warto¶æ powinna byæ równa iloczynowi warto¶ci USER_HZ z drugim wpisem w pseudopliku uptime.

W Linuksie 2.6 linia ta zawiera trzy dodatkowe kolumny:iowait - czas oczekiwania na zakoñczenie operacji I/O (od wersji 2.5.41); irq - czas obs³ugiwania przerwañ (od 2.6.0-test4); softirq - cxzas obs³ugiwania miêkkich przerwañ (softirqs) (od 2.6.0-test4).

page 5741 1808
Liczba stron, które system wstronicowa³ i liczba tych, które wystronicowa³ (z dysku).
swap 1 0
Liczba stron wymiany, które wniesiono i wyniesiono.
intr 1462898 Linia ta pokazuje licznik przerwañ obs³u¿onych od czasu uruchomienia dla ka¿dego mo¿liwego przerwania systemowego. Pierwsza kolumna okre¶la ca³kowit± liczbê wszystkich obs³u¿onych przerwañ, ka¿da nastêpna okre¶la ca³kowit± warto¶æ dla danego przerwania.
disk_io: (2,0):(31,30,5764,1,2) (3,0):...
(major,minor):(noinfo, read_io_ops, blks_read, write_io_ops, blks_written)
(tylko Linux 2.4)
ctxt 115315
Liczba prze³±czeñ kontekstu, które przeszed³ system.
btime 769041601
Czas uruchomienia systemu, w sekundach, od epoki (1 stycznia 1970).
processes 86031
Liczba rozwidleñ procesów od uruchomienia systemu.
procs_running 6
Liczba procesów w stanie runnable (Linux 2.5.45 i pó¼niejsze).
procs_blocked 2
Liczba procesów oczekuj±cych na zakoñczenie operacji wej¶cia/wyj¶cia (Linux 2.5.45 i pó¼niejsze).
/proc/swaps
U¿ywane obszary wymiany. Zobacz tak¿e swapon(8).
/proc/sys
Katalog ten (obecny od 1.3.57) zawiera wiele plików i podkatalogów odpowiadaj±cych zmiennym j±dra. Zmienne te mog± byæ odczytywane i czasem modyfikowane za po¶rednictwem systemu plików proc, jak te¿ przy wykorzystaniu funkcji systemowej sysctl(2). Istniej± w nim aktualnie podkatalogi abi, debug, dev, fs, kernel, net, proc, rxrpc, sunrpc i vm, z których ka¿dy zawiera wiêcej plików i podkatalogów.
/proc/sys/abi
Ten katalog mo¿e zawieraæ pliki z binarn± informacj± o aplikacji. W niektórych systemach nie wystêpuje.
/proc/sys/debug
Ten katalog mo¿e byæ pusty.
/proc/sys/dev
Ten katalog zawiera informacje specyficzne dla poszczególnych urz±dzeñ. (np. dev/cdrom/info). W niektórych systemach mo¿e byæ pusty.
/proc/sys/fs
Zawiera podkatalogi binfmt_misc, inotify, and mqueue oraz pliki dentry-state, dir-notify-enable, dquot-nr, file-max, file-nr, inode-max, inode-nr, inode-state, lease-break-time, leases-enable, overflowgid, overflowuid, suid_dumpable, super-max i super-nr.
/proc/sys/fs/binfmt_misc
Dokumentacja plików z tego katalogu znajduje siê w ¼ród³ach j±dra w Documentation/binfmt_misc.txt.
/proc/sys/fs/dentry-state
Zawiera sze¶æ liczb: nr_dentry, nr_unused, age_limit (wiek w sekundach), want_pages (strony, których za¿±da³ system) oraz dwie warto¶ci nieu¿ywane. nr_dentry wydaje siê byæ ca³y czas równe 0. nr_unused wydaje siê oznaczaæ liczbê nieu¿ywanych dentry. age_limit jest wyra¿onym w sekundach wiekiem dentry, po osi±gniêciu którego wpisy w cache'u dentry mog± zostaæ odzyskane, gdy brakuje pamiêci i want_pages ma warto¶æ niezerow±, podczas gdy j±dro wywo³a³o shrink_dcache_pages() oraz cache dentry nie zosta³ jeszcze wyczyszczony.
/proc/sys/fs/dir-notify-enable
Plik ten mo¿e s³u¿yæ do wy³±czania lub w³±czania interfejsu dnotify opisanego w fcntl(2) dla ca³ego systemu. Warto¶æ 0 w tym pliku wy³±cza interfejs, a warto¶æ 1 go w³±cza.
/proc/sys/fs/dquot-max
Zawiera maksymaln± liczbê buforowanych wpisów kwot dyskowych. W niektórych (2.4) systemach nie wystêpuje. Gdy liczba wolnych zbuforowanych kwot dyskowych jest bardzo ma³a, a jest przera¿aj±ca liczba jednoczesnych u¿ytkowników systemu, mo¿e istnieæ potrzeba zwiêkszenia tego ograniczenia.
/proc/sys/fs/dquot-nr
Zawiera liczbê przydzielonych wpisów kwot dyskowych oraz liczbê wolnych wpisów kwot dyskowych.
/proc/sys/fs/file-max
Zawiera ogólnosystemowe ograniczenie liczby plików otwartych przez wszystkie procesy. (Zobacz tak¿e setrlimit(2), które mo¿e s³u¿yæ procesom do ustawiania ograniczenia dla procesu, RLIMIT_NOFILE, jako liczby plików, które proces mo¿e otworzyæ). Gdy otrzymuje siê mnóstwo komunikatów o przekroczeniu liczby uchwytów plików (file handles), to mo¿na spróbowaæ zwiêkszyæ tê warto¶æ:


echo 100000 > /proc/sys/fs/file-max

Sta³a j±dra NR_OPEN narzuca górne ograniczenie warto¶ci, która mo¿e zostaæ umieszczona w file-max.

Gdy zwiêksza siê /proc/sys/fs/file-max, nale¿y pamiêtaæ o zwiêkszeniu /proc/sys/fs/inode-max do warto¶ci 3-4 razy wiêkszej ni¿ nowa warto¶æ /proc/sys/fs/file-max lub nale¿y siê liczyæ z tym, ¿e zabraknie i-wêz³ów.

/proc/sys/fs/file-nr
Ten (tylko do odczytu) plik okre¶la liczbê aktualnie otwartych plików. Zawiera on trzy liczby: liczbê przydzielonych uchwytów plików, liczbê wolnych uchwytów plików oraz maksymaln± liczbê uchwytów plików. J±dro przydziela uchwyty plików dynamicznie, ale ich pó¼niej nie zwalnia. Gdy liczba przydzielonych uchwytów plików zbli¿a siê do

maksimum, nale¿y rozwa¿yæ zwiêkszenie tego maksimum. Gdy jest du¿a liczba wolnych uchwytów plików, oznacza to, ¿e wyst±pi³o przesilenie w wykorzystaniu uchwytów plików i, prawdopodobnie, niema potrzeby zwiêkszania maksimum.

/proc/sys/fs/inode-max
Ten plik zawiera maksymaln± liczbê i-wêz³ów w pamiêci. W niektórych (2.4) systemach mo¿e nie wystêpowaæ. Warto¶æ ta powinna byæ 3-4 razy wiêksza ni¿ warto¶æ w file-max, gdy¿ stdin, stdout i gniazda sieciowe równie¿ potrzebuj± i-wêz³ów, aby mo¿na by³o na nich operowaæ. Gdy systematycznie brakuje i-wêz³ów, istnieje potrzeba zwiêkszenia tej warto¶ci.
/proc/sys/fs/inode-nr
Zawiera dwie pierwsze warto¶ci z inode-state.
/proc/sys/fs/inode-state
Zawiera siedem liczb: nr_inodes, nr_free_inodes, preshrink i cztery warto¶ci nieu¿ywane. nr_inodes jest liczb± przydzielonych w systemie i-wêz³ów. Mo¿e ona byæ nieco wiêksza ni¿ inode-max, gdy¿ Linux przydziela je pe³nymi stronami. nr_free_inodes przedstawia liczbê wolnych i-wêz³ów. preshrink jest niezerowe, gdy nr_inodes > inode-max oraz w systemie wystêpuje potrzeba wyczyszczenia listy i-wêz³ów zamiast przydzielania nowych.
/proc/sys/fs/inotify (od wersji Linuksa 2.6.13)
Ten katalog zawiera pliki max_queued_events, max_user_instances i max_user_watches, których mo¿na u¿yæ, aby ograniczyæ ilo¶æ pamiêci j±dra u¿ywanej przez interfejs inotify. Wiêcej szczegó³ów mo¿na znale¼æ w inotify(7).
/proc/sys/fs/lease-break-time
Okre¶la okres ulgi, przez jaki j±dro zapewnia procesowi utrzymanie dzier¿awy pliku (fcntl(2)), a po którym wy¶le do tego procesu sygna³ zawiadamiaj±cy go, ¿e inny proces oczekuje na otwarcie pliku. Je¶li utrzymuj±cy dzier¿awê nie usunie jej lub nie ograniczy swoich praw do niej w przeci±gu tego czasu, j±dro wymusi zerwanie dzier¿awy.
/proc/sys/fs/leases-enable
Ten plik mo¿e s³u¿yæ do ogólnosystemowego w³±czania lub wy³±czania dzier¿aw plików (fcntl(2)). Gdy plik ten zawiera warto¶æ 0, dzier¿awy s± wy³±czone. Warto¶æ niezerowa w³±cza dzier¿awy.
/proc/sys/fs/mqueue (od wersji Linuksa 2.6.6)
Ten katalog zawiera pliki msg_max, msgsize_max i queues_max, kontroluj±ce zasoby u¿ywane przez kolejki komunikatów POSIX. Szczegó³owe informacje mo¿na znale¼æ w mq_overview(7).
/proc/sys/fs/overflowgid and /proc/sys/fs/overflowuid
Te pliki umo¿liwiaj± zmianê warto¶ci ustalonego UID-u i GID-u. Warto¶ci± domy¶ln± jest 65534. Niektóre systemy plików wspieraj± jedynie 16-bitowe UID-y i GID-y, podczas gdy linuksowe UID-y i GID-y s± 32-bitowe. Gdy który¶ z takich systemów plików jest zamontowany z mo¿liwo¶ci± zapisu, to wszystkie UID-y i GID-y przekraczaj±ce 65535 s± zastêpowane podanymi tu warto¶ciami przed zapisem na dysk.
/proc/sys/fs/suid_dumpable (od wersji Linuksa 2.6.13)
Warto¶æ w tym pliku okre¶la, czy pliki zrzutów pamiêci s± tworzone dla programów maj±cych ustawiony bit set-user-ID albo chronionych w jaki¶ inny sposób. Mo¿na podaæ trzy ró¿ne warto¶ci liczbowe:

0 (domy¶lny). Jest to tradycyjne zachowanie (sprzed Linuksa 2.6.13). Zrzut pamiêci nie bêdzie tworzony dla procesu, który zmieni³ swoje uprawnienia (wywo³uj±c seteuid(2), setgid(2) lub podobn± funkcjê albo gdy program mia³ ustawiony bit set-user-ID lub set-group-ID) albo gdy uprawnienia nadane plikowi binarnemu programu zabraniaj± jego odczytywania.

1 ("debug"). Je¿eli jest to mo¿liwe, to wszystkie procesy wykonuj± zrzut pamiêci. W³a¶cicielem pliku zrzutu jest u¿ytkownik, którego uprawnienia do systemu plików ma proces wykonuj±cy zrzut. Nie s± stosowane ¿adne mechanizmy bezpieczeñstwa. Jest to przeznaczone tylko do celów debugowania. Ptrace nie jest sprawdzane.

2 ("suidsafe"). Zrzut pamiêci programu, dla którego w normalnej sytuacji taki zrzut nie zosta³by wykonany(patrz wy¿ej "0"), mo¿e byæ odczytany tylko przez administratora (root). Pozwala to u¿ytkownikowi usun±æ plik ze zrzutem, ale nie pozwala na jego odczytanie. Z powodów bezpieczeñstwa w tym trybie pliki zrzutu nie nadpisuj± istniej±cych plików. Ten tryb jest odpowiedni, gdy administrator bêdzie chcia³ debugowaæ problemy w naturalnym ¶rodowisku.

/proc/sys/fs/super-max
Plik steruje maksymaln± liczb± superbloków, a wiêc i maksymaln± liczb± systemów plików, które j±dro mo¿e zamontowaæ. Potrzeba zwiêkszenia warto¶ci super-max wystêpuje tylko wtedy, gdy chce siê zamontowaæ wiêcej systemów plików, ni¿ na to pozwala aktualna warto¶æ super-max.
/proc/sys/fs/super-nr
Plik zawiera liczbê obecnie zamontowanych systemów plików.
/proc/sys/kernel
Ten katalog zawiera pliki acct, cad_pid, cap-bound, core_pattern, core_uses_pid, ctrl-alt-del, dentry-state, domainname, hotplug, hostname, htab-reclaim (tylko PowerPC), java-appletviewer (binfmt_java, przestarza³y), java-interpreter (binfmt_java, przestarza³y), l2cr (tylko PowerPC), modprobe, msgmax, msgmnb, msgmni, osrelease, ostype, overflowgid, overflowuid, panic, panic_on_oops, pid_max, powersave-nap (tylko PowerPC ), printk, pty, random, real-root-dev, reboot-cmd (tylko SPARC), rtsig-max, rtsig-nr, sem, sg-big-buff, shmall, shmmax, shmmni, sysrq, tainted, threads-max, version i zero-paged (tylko PowerPC).
/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 jadro 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 <= 2%; wznowione zostanie, gdy wolne bêdzie >= 4%; zak³ada siê, ¿e informacja o ilo¶ci wolnego miejsca jest wa¿na przez 30 sekund.
/proc/sys/kernel/cap-bound
Plik przechowuje warto¶æ capability bounding set dla j±dra (wyra¿one jako liczba dziesiêtna ze znakiem). Warto¶æ ta jest mno¿ona (AND) bitowo z capabilities dozwolonymi dla procesu podczas exec().
/proc/sys/kernel/core_pattern
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 > 0, reakcj± Linuksa na Wulkanicznie Nerwowe Nêkanie (Vulcan Nerve Pinch (tm)) 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/hotplug
Plik ten zawiera ¶cie¿kê do programu hotplug. Domy¶ln± warto¶ci± w tym pliku jest "/sbin/hotplug".
/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 i hostname, 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ê hosta "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/htab-reclaim
(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/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 opisano w ¼ród³ach j±dra w pliku Documentation/kmod.txt.
/proc/sys/kernel/msgmax
Zawiera ogólnosystemowe ograniczenie maksymalnej liczby bajtów w pojedynczym komunikacie zapisywanym do kolejki komunikatów Systemu V.
/proc/sys/kernel/msgmni
Okre¶la ogólnosystemowe ograniczenie liczby identyfikatorów kolejek komunikatów. (Plik ten wystêpuje pocz±wszy od Linuksa 2.4).
/proc/sys/kernel/msgmnb
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/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
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
Plik ten (nowy w Linuksie 2.5) 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
Ten plik (nowy w Linuksie 2.5) 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). 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
Cztery warto¶ci w pliku printk to: console_loglevel, default_message_loglevel, minimum_console_level i default_console_loglevel. Warto¶ci te wp³ywaj± na zachowanie printk() podczas wypisywania lub logowania komunikatów b³êdów. Informacja o ró¿nych poziomach logowania mo¿na znale¼æ w syslog(2). Komunikaty o priorytecie wy¿szym ni¿ console_loglevel bêd± wypisywane na konsoli. Komunikaty bez jawnego priorytetu bêd± wypisywane z priorytetem default_message_level. minimum_console_loglevel jest najmniejsz± (najwy¿sz±) warto¶ci±, któr± mo¿na ustawiæ jako console_loglevel. default_console_loglevel jest domy¶ln± warto¶ci± dla console_loglevel.
/proc/sys/kernel/pty (od wersji 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/real-root-dev
Plik ten jest udokumentowany w pliku Documentation/initrd.txt w ¼ród³ach j±dra.
/proc/sys/kernel/reboot-cmd (Sparc only)
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
(Tylko w wersjach j±dra nie pó¼niejszych ni¿ 2.6.7; 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
(Tylko w wersjach j±dra nie pó¼niejszych ni¿ 2.6.7). Plik ten podaje liczbê zgodnych z POSIX sygna³ów czasu rzeczywistego oczekuj±cych obecnie w kolejce.
/proc/sys/kernel/sem (od wersji 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/shmall
Ten plik zawiera ogólnosystemowe ograniczenie ca³kowitej liczby stron pamiêci wspólnej Systemu V.
/proc/sys/kernel/shmmax
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. Jadro wspiera obecnie segmenty pamiêci wspólnej do 1GB. Warto¶ci± domy¶ln± jest SHMMAX.
/proc/sys/kernel/shmmni
(dostêpny pocz±wszy 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/version
zawiera tekst jak np.:


#5 Wed Feb 25 21:49:24 MET 1998.TP


'#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/zero-paged (PowerPC only)
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/sys/net
Ten katalog zawiera rzeczy zwi±zane z sieci±. Wyja¶nienia dotycz±ce niektórych plików zawartych w tym katalogu mo¿na znale¼æ w tcp(7) i ip(7).
/proc/sys/proc
Ten katalog mo¿e byæ pusty.
/proc/sys/sunrpc
Ten katalog obs³uguje Sunowskie zdalne wywo³ywanie procedur dla sieciowego systemu plikowego (NFS). W niektórych systemach mo¿e nie istnieæ.
/proc/sys/vm
Ten katalog zawiera pliki steruj±ce zarz±dzaniem pamiêci±, buforami i zarz±dzaniem cachem.
/proc/sys/vm/drop_caches (od wersji Linuksa 2.6.16)
Zapis do tego pliki powoduj zwolnienie przez j±dro czystych buforów, dentries ii-wêz³ów z pamiêci, zwalniaj±c tê pamiêæ.

Aby zwolniæ bufor stronicowania, nale¿y u¿yæ echo 1 > /proc/sys/vm/drop_caches; aby zwolniæ dentries i i-wêz³y, nale¿y u¿yæ echo 2 > /proc/sys/vm/drop_caches; aby zwolniæ bufor stronicowania, dentries i i-wêz³y, nale¿y u¿yæ echo 3 > /proc/sys/vm/drop_caches.

Poniewa¿ operacja ta nie jest destrukcyjna i brudne obiekty nie s± zwalniane, u¿ytkownik powinien wcze¶niej uruchomiæ sync(8).

/proc/sys/vm/legacy_va_layout (od wersji Linuksa 2.6.9)
Warto¶æ niezerowa oznacza wy³±czenie nowego, 32-bitowego rozmieszczenia mapowania pamiêci; j±dro bêdzie u¿ywaæ starego (2.4) rozmieszczenia dla wszystkich procesów.
/proc/sys/vm/overcommit_memory
Plik zawiera tryb rozliczeñ pamiêci wirtualnej j±dra. Dopuszczalne warto¶ci:
0: heurystyczny overcommit (domy¶lnie)
1: zawsze robi overcommit, nigdy nie sprawdza
2: zawsze sprawdza, nigdy nie robi overcommitu
W trybie 0 nie s± sprawdzane wywo³ania mmap(2) z MAP_NORESERVE, a domy¶lne sprawdzenia s± bardzo s³abe, prowadz±c do ryzyka zabicia procesu przez "OOM-killera". Pod Linuksem 2.4 jakakolwiek warto¶æ niezerowa oznacza tryb 1.W trybie 2 (dostêpnym od Linuksa 2.6), ca³kowity adres przestrzeni wirtualnej w systemie jest ograniczony do (SS + RAM*(r/100)), gdzie SS jest rozmiarem przestrzeni wymiany, RAM jest rozmiarem fizycznej pamiêci, a r - zawarto¶ci± pliku /proc/sys/vm/overcommit_ratio.
/proc/sys/vm/overcommit_ratio
Zobacz opis /proc/sys/vm/overcommit_memory.
/proc/sysvipc
Podkatalog zawieraj±cy pseudopliki msg, sem i shm. Pliki te zawieraj± obiekty komunikacji miêdzyprocesowej (Interprocess Communication - IPC) Systemu V (odpowiednio: kolejki komunikatów, semafory i pamiêæ wspóln±) obecnie istniej±ce w systemie, udostêpniaj±c informacje podobne do tych, które s± dostêpne poprzez ipcs(1). Pliki te zawieraj± nag³ówki i s± sformatowane (jeden obiekt IPC w wierszu) w celu ³atwiejszego zrozumienia. svipc(7) podaje dodatkowe informacje o zawarto¶ci tych plików.
/proc/tty
Podkatalog zawieraj±cy psuedopliki i podkatalogi sterowników terminali (tty) oraz protoko³ów sterowania lini± (line discipline).
/proc/uptime
Ten plik zawiera dwie liczby: czas pracy systemu (w sekundach) i ilo¶æ czasu spêdzonego na wykonywaniu procesu idle (w sekundach).
/proc/version
Ten napis okre¶la wersjê obecnie dzia³aj±cego j±dra. Zawiera on w sobie zawarto¶æ /proc/sys/ostype, /proc/sys/osrelease i /proc/sys/version. Na przyk³ad:
Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
/proc/vmstat (od wersji Linuksa 2.6)
Plik ten wy¶wietla ró¿ne statystyki pamiêci wirtualnej.
/proc/zoneinfo (od wersji Linuksa 2.6.13)
Plik zawiera informacje o strefach pamiêci. Mo¿e byæ przydatny podczas analizowania zachowania pamiêci wirtualnej.

ZOBACZ TAK¯E

cat(1), find(1), free(1), mount(1), ps(1), tr(1), uptime(1), chroot(2), mmap(2), readlink(2), syslog(2), slabinfo(5), hier(7), arp(8), dmesg(8), hdparm(8), ifconfig(8), init(8), lsmod(8), lspci(8), netstat(8), procinfo(8), route(8)
/usr/src/linux/Documentation/filesystems/proc.txt

UWAGI

Trzeba zauwa¿yæ, ¿e wiele ³añcuchów znakowych (np. ¶rodowisko czy linia poleceñ) wystêpuje w postaci wewnêtrznej, z polami zakoñczonymi bajtami NUL ('\0'), wiêc je¶li do ich czytania u¿yje siê od -c lub tr "\000" "\n", to mog± byæ bardziej czytelne. Alternatywnie, echo `cat <file>` dzia³a równie dobrze.

Ta strona podrêcznika jest niekompletna, prawdopodobnie niedok³adna i nale¿y do tych, które powinny byæ bardzo czêsto poprawiane.

PODZIÊKOWANIA

Material dotycz±cy /proc/sys/fs i /proc/sys/kernel jest ¶ci¶le oparty na plikach dokumentacji ¼róde³ j±dra napisanych przez Rika van Riela.
X et sa nouvelle politique de recrutement dans les ZEP.
-- Breton, J.C.