Das Dateisystem /proc ist ein Pseudo-Dateisystem, in dem der Kernel wichtige Daten in Form von virtuellen Dateien speichert. Der CPU-Typ kann beispielsweise mit dem folgenden Befehl abgerufen werden:
$ cat /proc/cpuinfo processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 8 model name : AMD Athlon(tm) XP 2400+ stepping : 1 cpu MHz : 2009.343 cache size : 256 KB fdiv_bug : no [...]
Die Zuordnung und Verwendung der Interrupts kann mit dem folgenden Befehl ermittelt werden:
$ cat /proc/interrupts CPU0 0: 537544462 XT-PIC timer 1: 820082 XT-PIC keyboard 2: 0 XT-PIC cascade 8: 2 XT-PIC rtc 9: 0 XT-PIC acpi 10: 13970 XT-PIC usb-uhci, usb-uhci 11: 146467509 XT-PIC ehci_hcd, usb-uhci, eth0 12: 8061393 XT-PIC PS/2 Mouse 14: 2465743 XT-PIC ide0 15: 1355 XT-PIC ide1 NMI: 0 LOC: 0 ERR: 0 MIS: 0
Einige wichtige Dateien und die enthaltenen Informationen sind:
/proc/devices
verfügbare Geräte
/proc/modules
geladene Kernel-Module
/proc/cmdline
Kernel-Befehlszeile
/proc/meminfo
detaillierte Informationen zur Arbeitsspeichernutzung
/proc/config.gz
gzip-komprimierte Konfigurationsdatei des aktuell aktivierten Kernels
Weitere Informationen finden Sie in der Textdatei /usr/src/linux/Documentation/filesystems/proc.txt. Informationen zu aktuell laufenden Prozessen befinden sich in den /proc/NNN-Verzeichnissen, wobei NNN für die Prozess-ID (PID) des jeweiligen Prozesses steht. Mit /proc/self/ können die zum aktiven Prozess gehörenden Eigenschaften abgerufen werden:
$ ls -l /proc/self lrwxrwxrwx 1 root root 64 Apr 29 13:52 /proc/self -> 27585 $ ls -l /proc/self/ total 0 dr-xr-xr-x 2 jj suse 0 Apr 29 13:52 attr -r-------- 1 jj suse 0 Apr 29 13:52 auxv -r--r--r-- 1 jj suse 0 Apr 29 13:52 cmdline lrwxrwxrwx 1 jj suse 0 Apr 29 13:52 cwd -> /suse/jj/t -r--r--r-- 1 jj suse 0 Apr 29 13:52 delay -r-------- 1 jj suse 0 Apr 29 13:52 environ lrwxrwxrwx 1 jj suse 0 Apr 29 13:52 exe -> /bin/ls dr-x------ 2 jj suse 0 Apr 29 13:52 fd -rw------- 1 jj suse 0 Apr 29 13:52 mapped_base -r--r--r-- 1 jj suse 0 Apr 29 13:52 maps -rw------- 1 jj suse 0 Apr 29 13:52 mem -r--r--r-- 1 jj suse 0 Apr 29 13:52 mounts lrwxrwxrwx 1 jj suse 0 Apr 29 13:52 root -> / -r--r--r-- 1 jj suse 0 Apr 29 13:52 stat -r--r--r-- 1 jj suse 0 Apr 29 13:52 statm -r--r--r-- 1 jj suse 0 Apr 29 13:52 status dr-xr-xr-x 3 jj suse 0 Apr 29 13:52 task -r--r--r-- 1 jj suse 0 Apr 29 13:52 wchan
Die Adresszuordnung der Programmdateien und Bibliotheken befindet sich in der Datei maps:
$ cat /proc/self/maps 08048000-0804c000 r-xp 00000000 03:02 22890 /bin/cat 0804c000-0804d000 rw-p 00003000 03:02 22890 /bin/cat 0804d000-0806e000 rwxp 0804d000 00:00 0 40000000-40016000 r-xp 00000000 03:02 10882 /lib/ld-2.3.3.so 40016000-40017000 rw-p 00015000 03:02 10882 /lib/ld-2.3.3.so 40017000-40018000 rw-p 40017000 00:00 0 4002b000-40135000 r-xp 00000000 03:02 10908 /lib/tls/libc.so.6 40135000-4013d000 rw-p 0010a000 03:02 10908 /lib/tls/libc.so.6 4013d000-40141000 rw-p 4013d000 00:00 0 bfffe000-c0000000 rw-p bfffe000 00:00 0 ffffe000-fffff000 ---p 00000000 00:00 0