Rechercher une page de manuel
proc
Langue: pl
Version: 2005\-05\-12 (ubuntu - 16/08/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.-- Breton, J.C.
Contenus ©2006-2008 Benjamin Poulain
Design ©2006-2008 Maxime Vantorre