Rechercher une page de manuel
proc
Langue: pl
Version: 2005\-05\-12 (ubuntu - 01/11/07)
Section: 5 (Format de fichier)
NAZWA
proc - pseudosystem plików z informacjami o procesachOPIS
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 * eth0Gdzie '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.je recrée MultiDeskOS 1.1 a dû vous paraître
assez ennuyeux, plus que si vous aviez eu
quelque chose entre les mains, avec une nouvelle
version tous les mois, voir toutes les deux semaines,
que vous pourriez alors chaque fois tester.
-- Jayce - Oh que oui ! --
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre