/proc

Aus Foxwiki

/proc - Prozessdateisystem

Das Prozessdateisystem stellt zur Laufzeit die Daten des Kernels in Form eines normalen Dateisystems dar. Als Mount-Point dient normalerweise /proc. Dieses Dateisystem existiert allein im Hauptspeicher und nicht auf der Festplatte!

Ein Blick in das Verzeichnis offenbart den Inhalt:

$ ls /proc
1   157 179 195 243 279 cmdline kcore misc stat
105 160 180 196 244 281 cpuinfo kcore_elf modules swaps
106 161 181   2 245 283 devices kmsg mounts sys
112 162 182 205 246   3 dma ksyms net tty
117 165 183 206 247   4 fb loadavg partitions uptime
121 166 184 209 249   5 filesystems locks pci version
136 171 185 227 252   6 fs lvm rtc
147 176 186 233 258  74 ide mdstat scsi
151 177 187 236 276  78 interrupts meminfo self
155 178 188 239 277 bus ioports memstat slabinfo

Sinn dieses Abbildes der Kerneldaten ist es, Programmen das Lesen dieser Daten zu ermöglichen, ohne auf den Kernelbereich zugreifen zu müssen (Sicherheit).

Im Einzelnen bedeuten die Einträge:

Name beinhaltet
1,105, ... Diese Zahlen entsprechen den PIDs der laufenden Prozesse und sind Unterverzeichnisse, die wiederum die relevanten Daten der Prozesse beinhalten.
# ls /proc/1
cmdline cwd environ exe fd maps mem root stat statm status

cwd ist das aktuelle Arbeitsverzeichnis und root das Wurzelverzeichnis. Im Unterverzeichnis fd stehen die Deskriptoren der geöffneten Dateien.

cmdline Enthält die Bootzeile, mit der der Kernel gestartet wurde. In den Unterverzeichnissen zu den einzelnen Prozessen stehen hier die Optionen beim Start des jeweiligen Prozesses.
cat /proc/cmdline
auto BOOT_IMAGE=Linux
cpuinfo Typ und Leistung der CPU findet man hier.
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 8
model name : AMD-K6(tm) 3D processor
stepping : 12
cpu MHz : 451.034814
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mmx 3dnow
bogomips : 897.84
devices Major und Minor Number der im Kernel geladenen Treiber stehen hier.
cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 ttyS
5 cua
7 vcs
10 misc
29 fb
36 netlink
99 ppuser
128 ptm
136 pts
162 raw
Block devices:
1 ramdisk
2 fd
3 ide0
7 loop
9 md
22 ide1
filesystems Die vom Kernel unterstützten Dateisysteme.
cat /proc/filesystems
ext2
minix
umsdos
msdos
vfat
nodev proc
nodev nfs
iso9660
nodev devpts 
interrupts Liste der belegten Hardwareinterrupts mit Zugriffsstatistik.
cat /proc/interrupts
CPU0
0: 2381241 XT-PIC timer
1: 51482 XT-PIC keyboard
2: 0 XT-PIC cascade
8: 2 XT-PIC rtc
10: 26390 XT-PIC eth0
12: 337541 XT-PIC PS/2 Mouse
13: 1 XT-PIC fpu
14: 262940 XT-PIC ide0
15: 4 XT-PIC ide1
kcore Zugang zum Arbeitsspeicher (nur für root)
locks Liste der aktiven Dateisperren.
cat /proc/locks
1: POSIX ADVISORY WRITE 843 03:05:507930 0 2147483647 c652a920 00000000 c652a
740 00000000 c232bf44
1: -> POSIX ADVISORY WRITE 844 03:05:507930 0 2147483647 c232bf44 00000000 00
000000 00000000 c652a920
2: FLOCK ADVISORY WRITE 0 03:05:145478 0 2147483647 c652a740 c652a920 c652a62
0 00000000 00000000
3: FLOCK ADVISORY WRITE 0 03:05:155744 0 2147483647 c652a620 c652a740 c652a5c
0 00000000 00000000
4: POSIX ADVISORY WRITE 133 03:05:145472 0 2147483647 c652a5c0 c652a620 00000
000 00000000 00000000
meminfo Speicher- und Swap-Auslastung.
cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 130813952 124973056 5840896 56123392 17874944 33165312
Swap: 139821056 172032 139649024
MemTotal: 127748 kB
MemFree: 5704 kB
MemShared: 54808 kB
Buffers: 17456 kB
Cached: 32388 kB
BigTotal: 0 kB
BigFree: 0 kB
SwapTotal: 136544 kB
SwapFree: 136376 kB
Stat Statusinformation des Kernels.
cat /proc/stat
cpu 58798 1 10291 2329306
disk 38353 0 0 0
disk_rio 26383 0 0 0
disk_wio 11970 0 0 0
disk_rblk 52790 0 0 0
disk_wblk 23970 0 0 0
page 99771 32285
swap 5 64
intr 3085540 2398396 52805 0 0 0 0 90 0 2 0 26551 0 344639 1 263052 4 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0
ctxt 3408251
btime 950767448
processes 1311 
sys Verschiedene Informationen zum Laufzeitsystem stehen in diesem Unterverzeichnis.
ls /proc/sys
debug dev fs kernel net proc sunrpc
version Kernelversion und Übersetzungsdatum des aktiven Kernels.
cat /proc/version
Linux version 2.2.14 (sonne@galaxis.de) (gcc version egcs-2.91.66 19990314/Linux
(egcs-1.1.2 release)) #1 Mon Feb 14 15:51:29 CET 2000